diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java index 178f6eb..a8d8fe2 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java @@ -101,7 +101,7 @@ public class RedisKeyConstant { /** * 平台用户ai绘画键 */ - public static final String PLATFORM_USER_AI_PAINT_KEY = "bnyer.img.user.aiPaint:"; + //public static final String PLATFORM_USER_AI_PAINT_KEY = "bnyer.img.user.aiPaint:"; /** * ai绘画采用sd或tx文生图开关 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java index 8756c46..fa88283 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java @@ -53,6 +53,20 @@ public class FhUser extends BaseDomain { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + /** + * 画意值 + */ + @TableField(value = "gold_num") + @ApiModelProperty(value="画意值") + private Integer goldNum; + + /** + * 意心 + */ + @TableField(value = "diamond_num") + @ApiModelProperty(value="意心") + private Integer diamondNum; + /** * 头像img地址 */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java index f1bf1b9..61d6d46 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java @@ -45,6 +45,20 @@ public class TiktokUser extends BaseDomain { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + /** + * 画意值 + */ + @TableField(value = "gold_num") + @ApiModelProperty(value="画意值") + private Integer goldNum; + + /** + * 意心 + */ + @TableField(value = "diamond_num") + @ApiModelProperty(value="意心") + private Integer diamondNum; + /** * 头像img地址 */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java index ce08265..4c9b80d 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java @@ -53,6 +53,20 @@ public class WxUser extends BaseDomain { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + /** + * 画意值 + */ + @TableField(value = "gold_num") + @ApiModelProperty(value="画意值") + private Integer goldNum; + + /** + * 意心 + */ + @TableField(value = "diamond_num") + @ApiModelProperty(value="意心") + private Integer diamondNum; + /** * 头像img地址 */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/checkUserCanDownloadDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/checkUserCanDownloadDto.java index cd2e320..612d71f 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/checkUserCanDownloadDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/checkUserCanDownloadDto.java @@ -1,7 +1,5 @@ package com.bnyer.common.core.dto; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/FhUserLoginVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/FhUserLoginVo.java index c35dade..62ae7fe 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/FhUserLoginVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/FhUserLoginVo.java @@ -29,6 +29,12 @@ public class FhUserLoginVo implements Serializable { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + @ApiModelProperty(value="画意值") + private Integer goldNum; + + @ApiModelProperty(value="意心") + private Integer diamondNum; + @ApiModelProperty(value="头像img地址") private String img; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TiktokUserLoginVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TiktokUserLoginVo.java index c13f1d9..0967aa9 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TiktokUserLoginVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TiktokUserLoginVo.java @@ -29,6 +29,12 @@ public class TiktokUserLoginVo implements Serializable { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + @ApiModelProperty(value="画意值") + private Integer goldNum; + + @ApiModelProperty(value="意心") + private Integer diamondNum; + @ApiModelProperty(value="头像img地址") private String img; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/UserInfoVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/UserInfoVo.java index ae5565d..dc29805 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/UserInfoVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/UserInfoVo.java @@ -52,6 +52,12 @@ public class UserInfoVo implements Serializable { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + @ApiModelProperty(value="画意值") + private Integer goldNum; + + @ApiModelProperty(value="意心") + private Integer diamondNum; + @ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)") private String isHot; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/WxUserLoginVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/WxUserLoginVo.java index c501f49..37f0ccb 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/WxUserLoginVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/WxUserLoginVo.java @@ -29,6 +29,12 @@ public class WxUserLoginVo implements Serializable { @ApiModelProperty(value="是否为vip(0->否;1->是)") private String isVip; + @ApiModelProperty(value="画意值") + private Integer goldNum; + + @ApiModelProperty(value="意心") + private Integer diamondNum; + @ApiModelProperty(value="头像img地址") private String img; diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java index c0a9ac3..67d5a80 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java +++ b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java @@ -50,6 +50,8 @@ public class SecurityUtils tiktokUserInfo.setLastLoginTime(loginTikTokUser.getLoginTime()); tiktokUserInfo.setImg(loginTikTokUser.getTiktokUser().getImg()); tiktokUserInfo.setIsVip(loginTikTokUser.getTiktokUser().getIsVip()); + tiktokUserInfo.setGoldNum(loginTikTokUser.getTiktokUser().getGoldNum()); + tiktokUserInfo.setDiamondNum(loginTikTokUser.getTiktokUser().getDiamondNum()); tiktokUserInfo.setCreateTime(loginTikTokUser.getTiktokUser().getCreateTime()); tiktokUserInfo.setUpdateTime(loginTikTokUser.getTiktokUser().getUpdateTime()); tiktokUserInfo.setSort(loginTikTokUser.getTiktokUser().getSort()); @@ -65,6 +67,8 @@ public class SecurityUtils wechatUserInfo.setLastLoginTime(loginWechatUser.getLoginTime()); wechatUserInfo.setImg(loginWechatUser.getWxUser().getImg()); wechatUserInfo.setIsVip(loginWechatUser.getWxUser().getIsVip()); + wechatUserInfo.setGoldNum(loginWechatUser.getWxUser().getGoldNum()); + wechatUserInfo.setDiamondNum(loginWechatUser.getWxUser().getDiamondNum()); wechatUserInfo.setCreateTime(loginWechatUser.getWxUser().getCreateTime()); wechatUserInfo.setUpdateTime(loginWechatUser.getWxUser().getUpdateTime()); wechatUserInfo.setSort(loginWechatUser.getWxUser().getSort()); @@ -80,6 +84,8 @@ public class SecurityUtils fhUserInfo.setLastLoginTime(loginFhUser.getLoginTime()); fhUserInfo.setImg(loginFhUser.getFhUser().getImg()); fhUserInfo.setIsVip(loginFhUser.getFhUser().getIsVip()); + fhUserInfo.setGoldNum(loginFhUser.getFhUser().getGoldNum()); + fhUserInfo.setDiamondNum(loginFhUser.getFhUser().getDiamondNum()); fhUserInfo.setCreateTime(loginFhUser.getFhUser().getCreateTime()); fhUserInfo.setUpdateTime(loginFhUser.getFhUser().getUpdateTime()); fhUserInfo.setSort(loginFhUser.getFhUser().getSort()); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index 8bc63c1..3b43fb2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -91,6 +91,12 @@ public class FhMiniController extends BaseController { @Autowired private PaintCdkService paintCdkService; + @Autowired + private GoldLogService goldLogService; + + @Autowired + private DiamondLogService diamondLogService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -232,6 +238,13 @@ public class FhMiniController extends BaseController { return AjaxResult.success(fhUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); } + @ApiOperation(value="检查某平台用户当日ai绘画次数是否超标") + @PostMapping(value = "/checkUserCanAiPaint") + public AjaxResult checkUserCanAiPaint(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ + log.debug("【抖音图文小程序】检查某平台用户当日ai绘画次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(fhUserService.checkUserCanAiPaint(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + } + @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ @@ -423,4 +436,20 @@ public class FhMiniController extends BaseController { paintCdkService.useCdk(dto.getCdk(),dto.getSource(),dto.getUserId(),dto.getAppType()); return AjaxResult.success(); } + + @ApiOperation(value="获取画意值记录") + @PostMapping(value = "/queryGoldLogPage") + public TableDataInfo queryGoldLogPage(@Validated @RequestBody @ApiParam("画意值对象") GoldLogPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List goldLogs = goldLogService.queryPage(dto.getUserId(), "2"); + return getDataTable(goldLogs); + } + + @ApiOperation(value="获取意心记录") + @PostMapping(value = "/queryDiamondLogPage") + public TableDataInfo queryDiamondLogPage(@Validated @RequestBody @ApiParam("意心对象") DiamondLogPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List diamondLogs = diamondLogService.queryPage(dto.getUserId(), "2"); + return getDataTable(diamondLogs); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 4af5c61..ea02a7d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -91,6 +91,12 @@ public class WxMiniController extends BaseController { @Autowired private PaintCdkService paintCdkService; + @Autowired + private GoldLogService goldLogService; + + @Autowired + private DiamondLogService diamondLogService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -247,7 +253,13 @@ public class WxMiniController extends BaseController { return AjaxResult.success(wxUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); } - + @ApiOperation(value="检查某平台用户当日ai绘画次数是否超标") + @PostMapping(value = "/checkUserCanAiPaint") + public AjaxResult checkUserCanAiPaint(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ + log.debug("【抖音图文小程序】检查某平台用户当日ai绘画次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(wxUserService.checkUserCanAiPaint(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + } + @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ @@ -450,4 +462,20 @@ public class WxMiniController extends BaseController { paintCdkService.useCdk(dto.getCdk(),dto.getSource(),dto.getUserId(),dto.getAppType()); return AjaxResult.success(); } + + @ApiOperation(value="获取画意值记录") + @PostMapping(value = "/queryGoldLogPage") + public TableDataInfo queryGoldLogPage(@Validated @RequestBody @ApiParam("画意值对象") GoldLogPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List goldLogs = goldLogService.queryPage(dto.getUserId(), "3"); + return getDataTable(goldLogs); + } + + @ApiOperation(value="获取意心记录") + @PostMapping(value = "/queryDiamondLogPage") + public TableDataInfo queryDiamondLogPage(@Validated @RequestBody @ApiParam("意心对象") DiamondLogPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List diamondLogs = diamondLogService.queryPage(dto.getUserId(), "3"); + return getDataTable(diamondLogs); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java index 1dbd7dd..0984fad 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java @@ -1,26 +1,30 @@ package com.bnyer.img.service; +import com.bnyer.common.core.domain.FhUser; import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.domain.TiktokUser; import com.bnyer.common.core.dto.FhLoginDto; import com.bnyer.img.api.model.LoginFhUser; public interface FhUserService { /** - * 快手登录参数 - * @param dto 登录参数 + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 * @return - */ - //Map login(FhLoginDto dto); + boolean checkUserCanDownload(Long userId,String platform,String appType); /** - * 检查某平台用户当日下载次数是否超标 + * 检查某平台用户当日ai绘画次数是否超标 * @param userId 用户id * @param platform 平台 * @param appType 应用 * @return - */ - boolean checkUserCanDownload(Long userId,String platform,String appType); + boolean checkUserCanAiPaint(Long userId,String platform,String appType); /** * 获取快手小程序用户 @@ -28,4 +32,17 @@ public interface FhUserService { * @return - */ R getFhLoginUserByLoginParam(FhLoginDto dto); + + /** + * 根据id获取用户信息 + * @param id 主键id + * @return - + */ + FhUser getUserById(Long id); + + /** + * 根据id更新用户信息 + * @param tiktokUser 快手用户 + */ + void updateFhUser(FhUser tiktokUser); } 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 e1ab6e2..21e51a4 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 @@ -26,13 +26,12 @@ public interface StableDiffusionService { void imgToImg(); /** - * 增加ai绘画次数 - * @param appType 应用 + * 增加用户画意值 * @param platform 平台 * @param userId 用户id - * @param paintNUm 绘画次数 + * @param paintNUm 画意值 */ - void addPlatformUserAiPaintNum(String appType,String platform,Long userId,int paintNUm); + void addPlatformUserAiPaintNum(String platform,Long userId,int paintNUm); /** * 设置AI绘画button值 diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java index 4fa054a..c05bc5e 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java @@ -1,18 +1,12 @@ package com.bnyer.img.service; import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.domain.TiktokUser; import com.bnyer.common.core.dto.TiktokLoginDto; import com.bnyer.img.api.model.LoginTiktokUser; public interface TiktokUserService { -// /** -// * 抖音登录参数 -// * @param dto 登录参数 -// * @return - -// */ -// Map login(TiktokLoginDto dto); - /** * 检查某平台用户当日下载次数是否超标 * @param userId 用户id @@ -37,4 +31,17 @@ public interface TiktokUserService { * @return - */ R getTiktokLoginUserByLoginParam(TiktokLoginDto dto); + + /** + * 根据id获取用户信息 + * @param id 主键id + * @return - + */ + TiktokUser getUserById(Long id); + + /** + * 根据id更新用户信息 + * @param tiktokUser 抖音用户 + */ + void updateTiktokUser(TiktokUser tiktokUser); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java index 08d7f68..19726e0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java @@ -1,26 +1,29 @@ package com.bnyer.img.service; import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.domain.WxUser; import com.bnyer.common.core.dto.WxLoginDto; import com.bnyer.img.api.model.LoginWechatUser; public interface WxUserService { /** - * 微信登录参数 - * @param param 登录参数 + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 * @return - */ - //Map login(WxLoginDto param); + boolean checkUserCanDownload(Long userId,String platform,String appType); /** - * 检查某平台用户当日下载次数是否超标 + * 检查某平台用户当日ai绘画次数是否超标 * @param userId 用户id * @param platform 平台 * @param appType 应用 * @return - */ - boolean checkUserCanDownload(Long userId,String platform,String appType); + boolean checkUserCanAiPaint(Long userId,String platform,String appType); /** * 获取微信小程序用户 @@ -28,4 +31,17 @@ public interface WxUserService { * @return - */ R getWxLoginUserByLoginParam(WxLoginDto dto); + + /** + * 根据id获取用户信息 + * @param id 主键id + * @return - + */ + WxUser getUserById(Long id); + + /** + * 根据id更新用户信息 + * @param tiktokUser 微信用户 + */ + void updateWxUser(WxUser tiktokUser); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java index 9e7a4e3..4b5d9c0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; @@ -121,36 +122,6 @@ public class FhUserServiceImpl implements FhUserService { return fhUser; } -// @Override -// public Map login(FhLoginDto param) { -// FhSessionInfoVo sessionInfo = this.getSessionInfo(param.getCode()); -// //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增 -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(sessionInfo.getOpenId() != null,FhUser::getFhCode,Sm4Util.sm4Encryption(sessionInfo.getOpenId())); -// FhUser fhUser = fhUserMapper.selectOne(wrapper); -// if(fhUser == null){ -// //新用户,新增 -// fhUser = this.saveOrUpdate(sessionInfo.getOpenId(), sessionInfo.getSessionKey(), param.getEncryptedData(), param.getIv()); -// } -// //设置会话状态 -// String redisKey = RedisKeyConstant.FH_USER_LOGIN_KEY+Sm4Util.sm4Encryption(sessionInfo.getOpenId()); -// //存在该登录态则删除刷新 -// if(redisService.hasKey(redisKey)){ -// redisService.deleteObject(redisKey); -// } -// StringBuffer sb = new StringBuffer(); -// String randomId = IdUtils.fastSimpleUUID(); -// sb.append(randomId).append("#").append(sessionInfo.getOpenId()); -// -// Map map = new HashMap<>(2); -// map.put("token", sb.toString()); -// map.put("sessionKey", sessionInfo.getSessionKey()); -// map.put("userInfo",fhUser); -// //设置登录会话 -// redisService.setCacheObject(redisKey,map,30L, TimeUnit.DAYS); -// return map; -// } - @Override public boolean checkUserCanDownload(Long userId, String platform, String appType) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); @@ -171,6 +142,18 @@ public class FhUserServiceImpl implements FhUserService { } } + @Override + public boolean checkUserCanAiPaint(Long userId, String platform, String appType) { + //查询用户信息 + FhUser fhUser = this.getUserById(userId); + //获取用户画意值 + if(fhUser.getGoldNum() <=0){ + return true; + }else{ + return false; + } + } + @Override public R getFhLoginUserByLoginParam(FhLoginDto dto) { FhSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); @@ -188,4 +171,23 @@ public class FhUserServiceImpl implements FhUserService { loginFhUser.setFhUser(loginVo); return R.ok(loginFhUser); } + + @Override + public FhUser getUserById(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(FhUser::getId, id); + wrapper.eq(FhUser::getIsShow,"1"); + FhUser fhUser = fhUserMapper.selectOne(wrapper); + if(fhUser == null){ + throw new ServiceException("当前用户不存在!"); + } + return fhUser; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateFhUser(FhUser fhUser) { + fhUser.setUpdateTime(new Date()); + fhUserMapper.updateById(fhUser); + } } 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 920b61f..423c7a8 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 @@ -64,8 +64,8 @@ public class PaintCdkServiceImpl implements PaintCdkService { if(paintCdk == null){ throw new ServiceException("该兑换码不存在或已被使用!"); }else{ - //增加用户绘画次数 - stableDiffusionService.addPlatformUserAiPaintNum(appType,source,userId,paintCdk.getPaintNum()); + //增加用户画意值 + stableDiffusionService.addPlatformUserAiPaintNum(source,userId,paintCdk.getPaintNum()); //修改cdk状态 paintCdk.setIsUse("1"); paintCdkMapper.updateById(paintCdk); 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 c4d5df6..174ff64 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,6 +5,9 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.constant.RedisKeyConstant; 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.dto.TextToImgDto; import com.bnyer.common.core.dto.TextToImgLoveDto; import com.bnyer.common.core.exception.ServiceException; @@ -17,8 +20,7 @@ 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.service.AiPaintService; -import com.bnyer.img.service.StableDiffusionService; +import com.bnyer.img.service.*; import com.tencentcloudapi.aiart.v20221229.AiartClient; import com.tencentcloudapi.aiart.v20221229.models.ResultConfig; import com.tencentcloudapi.aiart.v20221229.models.TextToImageRequest; @@ -61,6 +63,15 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { @Autowired private StableDiffusionConfig stableDiffusionConfig; + @Autowired + private TiktokUserService tiktokUserService; + + @Autowired + private WxUserService wxUserService; + + @Autowired + private FhUserService fhUserService; + private String translate(String text){ try{ Credential cred = new Credential(tencentTranslateConfig.getSecretId(), tencentTranslateConfig.getSecretKey()); @@ -165,8 +176,6 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { paint.setPainterId(param.getPainterId()); paint.setPainterName(param.getPainterName()); aiPaintService.insert(paint); - //写入ai绘画次数 - writePlatformUserAiPaintNum(param.getAppType(),param.getPlatform(),param.getPainterId()); } img.setPaintId(paintId); img.setPaintTime(paintTime); @@ -274,8 +283,6 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { paint.setPainterId(param.getPainterId()); paint.setPainterName(param.getPainterName()); aiPaintService.insert(paint); - //写入ai绘画次数 - writePlatformUserAiPaintNum(param.getAppType(),param.getPlatform(),param.getPainterId()); } img.setPaintId(paintId); img.setPaintTime(paintTime); @@ -501,34 +508,40 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { return null; } - /** - * 写入ai绘画次数 - * @param appType 应用 - * @param platform 平台 - * @param userId 用户id - */ - private void writePlatformUserAiPaintNum(String appType,String platform,Long userId){ - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - String date = df.format(new Date()); - String hashKey = appType+":"+platform+":"+userId; - log.info("日期【{}】应用【{}】平台【{}】用户【{}】ai绘画数+1",date,appType,platform,userId); - String redisKey = RedisKeyConstant.PLATFORM_USER_AI_PAINT_KEY + date; - redisService.hashIncr(redisKey, hashKey, 1); - } - @Override 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); + public void addPlatformUserAiPaintNum(String platform, Long userId, int paintNum) { + //判断是哪个平台的 + switch (platform){ + //抖音 + case "1": + //查询用户信息 + TiktokUser tiktokUser = tiktokUserService.getUserById(userId); + tiktokUser.setGoldNum(tiktokUser.getGoldNum()+paintNum); + //更新用户信息 + tiktokUserService.updateTiktokUser(tiktokUser); + break; + //快手 + case "2": + //查询用户信息 + FhUser fhUser = fhUserService.getUserById(userId); + fhUser.setGoldNum(fhUser.getGoldNum()+paintNum); + //更新用户信息 + fhUserService.updateFhUser(fhUser); + break; + //微信 + case "3": + //查询用户信息 + WxUser wxUser = wxUserService.getUserById(userId); + wxUser.setGoldNum(wxUser.getGoldNum()+paintNum); + //更新用户信息 + wxUserService.updateWxUser(wxUser); + break; + } } @Override diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java index 818ea16..decce52 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java @@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; @@ -127,36 +128,6 @@ public class TiktokUserServiceImpl implements TiktokUserService { return user; } -// @Override -// public Map login(TiktokLoginDto dto) { -// TiktokSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); -// //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增 -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(sessionInfo.getOpenId() != null,TiktokUser::getTiktokCode,Sm4Util.sm4Encryption(sessionInfo.getOpenId())); -// TiktokUser tiktokUser = tiktokUserMapper.selectOne(wrapper); -// if(tiktokUser == null){ -// //新用户,新增 -// tiktokUser = this.saveUserInfo(sessionInfo.getOpenId(), sessionInfo.getSessionKey(), dto.getEncryptedData(), dto.getIv()); -// } -// //设置会话状态 -// String redisKey = RedisKeyConstant.TIKTOK_USER_LOGIN_KEY+Sm4Util.sm4Encryption(sessionInfo.getOpenId()); -// //存在该登录态则删除刷新 -// if(redisService.hasKey(redisKey)){ -// redisService.deleteObject(redisKey); -// } -// StringBuffer sb = new StringBuffer(); -// String randomId = IdUtils.fastSimpleUUID(); -// sb.append(randomId).append("#").append(sessionInfo.getOpenId()); -// -// Map map = new HashMap<>(2); -// map.put("token", sb.toString()); -// map.put("sessionKey", sessionInfo.getSessionKey()); -// map.put("userInfo",tiktokUser); -// //设置登录会话 -// redisService.setCacheObject(redisKey,map,30L, TimeUnit.DAYS); -// return map; -// } - @Override public boolean checkUserCanDownload(Long userId, String platform, String appType) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); @@ -179,20 +150,12 @@ public class TiktokUserServiceImpl implements TiktokUserService { @Override public boolean checkUserCanAiPaint(Long userId, String platform, String appType) { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - String date = df.format(new Date()); - String hashKey = appType+":"+platform+":"+userId; - String redisKey = RedisKeyConstant.PLATFORM_USER_AI_PAINT_KEY + date; - if(redisService.hasHashKey(redisKey,hashKey)){ - //存在键,判断次数,次数达标则不可ai绘画 - Integer aiPaintNum = redisService.getCacheMapValue(redisKey, hashKey); - if(aiPaintNum >= 3){ - return true; - }else{ - return false; - } + //查询用户信息 + TiktokUser tiktokUser = this.getUserById(userId); + //获取用户画意值 + if(tiktokUser.getGoldNum() <=0){ + return true; }else{ - //不存在键则可绘画 return false; } } @@ -214,4 +177,23 @@ public class TiktokUserServiceImpl implements TiktokUserService { loginTiktokUser.setTiktokUser(loginVo); return R.ok(loginTiktokUser); } + + @Override + public TiktokUser getUserById(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TiktokUser::getId, id); + wrapper.eq(TiktokUser::getIsShow,"1"); + TiktokUser tiktokUser = tiktokUserMapper.selectOne(wrapper); + if(tiktokUser == null){ + throw new ServiceException("当前用户不存在!"); + } + return tiktokUser; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateTiktokUser(TiktokUser tiktokUser) { + tiktokUser.setUpdateTime(new Date()); + tiktokUserMapper.updateById(tiktokUser); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java index f0ad4f9..3f9296b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bnyer.common.core.constant.RedisKeyConstant; import com.bnyer.common.core.constant.TiktokConstant; import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.domain.TiktokUser; import com.bnyer.common.core.domain.WxUser; import com.bnyer.common.core.dto.WxLoginDto; import com.bnyer.common.core.exception.ServiceException; @@ -22,6 +23,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import javax.crypto.Cipher; @@ -122,35 +124,6 @@ public class WxUserServiceImpl implements WxUserService { return wxUser; } -// @Override -// public Map login(WxLoginDto dto) { -// WxSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); -// //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增 -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(sessionInfo.getOpenId() != null, WxUser::getWxCode, Sm4Util.sm4Encryption(sessionInfo.getOpenId())); -// WxUser wxUser = wxUserMapper.selectOne(wrapper); -// if (wxUser == null) { -// //新用户,新增 -// wxUser = this.saveUserInfo(sessionInfo.getOpenId(), sessionInfo.getSessionKey(), dto.getEncryptedData(), dto.getIv()); -// } -// //设置会话状态 -// String redisKey = RedisKeyConstant.WECHAT_USER_LOGIN_KEY + Sm4Util.sm4Encryption(sessionInfo.getOpenId()); -// //存在该登录态则删除刷新 -// if (redisService.hasKey(redisKey)) { -// redisService.deleteObject(redisKey); -// } -// StringBuffer sb = new StringBuffer(); -// String randomId = IdUtils.fastSimpleUUID(); -// sb.append(randomId).append("#").append(sessionInfo.getOpenId()); -// //设置登录会话 -// Map map = new HashMap<>(2); -// map.put("token", sb.toString()); -// map.put("sessionKey", sessionInfo.getSessionKey()); -// map.put("userInfo", wxUser); -// redisService.setCacheObject(redisKey, map, 30L, TimeUnit.DAYS); -// return map; -// } - @Override public boolean checkUserCanDownload(Long userId, String platform, String appType) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); @@ -171,6 +144,18 @@ public class WxUserServiceImpl implements WxUserService { } } + @Override + public boolean checkUserCanAiPaint(Long userId, String platform, String appType) { + //查询用户信息 + WxUser wxUser = this.getUserById(userId); + //获取用户画意值 + if(wxUser.getGoldNum() <=0){ + return true; + }else{ + return false; + } + } + @Override public R getWxLoginUserByLoginParam(WxLoginDto dto) { WxSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); @@ -188,4 +173,23 @@ public class WxUserServiceImpl implements WxUserService { loginWxUser.setWxUser(loginVo); return R.ok(loginWxUser); } + + @Override + public WxUser getUserById(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(WxUser::getId, id); + wrapper.eq(WxUser::getIsShow,"1"); + WxUser wxUser = wxUserMapper.selectOne(wrapper); + if(wxUser == null){ + throw new ServiceException("当前用户不存在!"); + } + return wxUser; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateWxUser(WxUser wxUser) { + wxUser.setUpdateTime(new Date()); + wxUserMapper.updateById(wxUser); + } } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml index acdf5f9..f9d25be 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml @@ -10,6 +10,8 @@ + + @@ -17,7 +19,7 @@ - id, username, fh_code,phone, img,is_vip, is_show, create_time, update_time, sort + id, username, fh_code,phone, img,is_vip,gold_num,diamond_num, is_show, create_time, update_time, sort diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml index 9cfed45..a64b214 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml @@ -10,6 +10,8 @@ + + @@ -19,6 +21,6 @@ - id, username, tiktok_code,phone, img,is_vip,is_show, create_time, update_time, sort + id, username, tiktok_code,phone, img,is_vip,gold_num,diamond_num,is_show, create_time, update_time, sort diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml index 7a961d3..884b798 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml @@ -10,6 +10,8 @@ + + @@ -17,6 +19,6 @@ - id, username, wx_code,phone, img,is_vip, is_show, create_time, update_time, sort + id, username, wx_code,phone, img,is_vip,gold_num,diamond_num, is_show, create_time, update_time, sort