From 000d7a3a79004f3805f088ba15a619db749029e7 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Tue, 19 Jul 2022 16:42:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/constants/RedisKeyConstant.java | 104 ++++++++++++++++++ .../com/bnyer/file/service/IFileService.java | 6 + .../file/service/impl/FileServiceImpl.java | 69 +++++++----- .../bnyer/img/constants/RedisKeyConstant.java | 4 + .../img/controller/CreatorMiniController.java | 6 + .../com/bnyer/img/dto/CreatorDownloadDto.java | 27 +++++ .../img/service/CreatorProfitService.java | 7 ++ .../impl/CreatorProfitServiceImpl.java | 30 +++++ .../bnyer/img/task/UserDownloadSyncTask.java | 7 ++ 9 files changed, 235 insertions(+), 25 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java new file mode 100644 index 0000000..495eb85 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -0,0 +1,104 @@ +package com.bnyer.file.constants; + +public class RedisKeyConstant { + + + /** + * 抖音小程序用户收藏图片键 + */ + public static final String TIKTOK_USER_COLLECT_KEY = "bnyer.img.tiktok.collect:"; + + /** + * 抖音小程序图片收藏数量键 + */ + public static final String TIKTOK_IMG_COLLECT_NUM_KEY = "bnyer.img.tiktok.collectNum"; + + /** + * 快手小程序图片收藏数量键 + */ + public static final String FAST_HAND_IMG_COLLECT_NUM_KEY = "bnyer.img.fh.collectNum"; + + /** + * 微信小程序图片收藏数量键 + */ + public static final String WECHAT_IMG_COLLECT_NUM_KEY = "bnyer.img.wx.collectNum"; + + /** + * 抖音小程序用户点赞图片键 + */ + public static final String TIKTOK_USER_LIKE_KEY = "bnyer.img.tiktok.like"; + + /** + * 快手小程序用户点赞图片键 + */ + public static final String FAST_HAND_USER_LIKE_KEY = "bnyer.img.fh.like"; + + /** + * 微信小程序用户点赞图片键 + */ + public static final String WECHAT_USER_LIKE_KEY = "bnyer.img.wx.like"; + + /** + * 抖音小程序图片点赞数量键 + */ + public static final String TIKTOK_IMG_LIKE_NUM_KEY = "bnyer.img.tiktok.likeNum"; + + /** + * 快手小程序图片点赞数量键 + */ + public static final String FAST_HAND_IMG_LIKE_NUM_KEY = "bnyer.img.fh.likeNum"; + + /** + * 微信小程序图片点赞数量键 + */ + public static final String WECHAT_IMG_LIKE_NUM_KEY = "bnyer.img.wx.likeNum"; + + /** + * 抖音小程序图片下载数量键 + */ + public static final String TIKTOK_IMG_DOWNLOAD_NUM_KEY = "bnyer.img.creator.downloadNum:"; + + /** + * 抖音小程序图片下载总数量键 + */ + public static final String TIKTOK_IMG_TOTAL_DOWNLOAD_NUM_KEY = "bnyer.img.date.downloadTotalNum:"; + + /** + * 抖音小程序用户登录键 + */ + public static final String TIKTOK_USER_LOGIN_KEY = "bnyer.img.tiktok.user:"; + + /** + * 快手小程序用户登录键 + */ + public static final String FH_USER_LOGIN_KEY = "bnyer.img.fh.user:"; + + /** + * 微信小程序用户登录键 + */ + public static final String WECHAT_USER_LOGIN_KEY = "bnyer.img.wx.user:"; + + /** + * 微信小程序艺术家登录键 + */ + public static final String WECHAT_CREATOR_LOGIN_KEY = "bnyer.img.wechat.creator:"; + + /** + * 微信小程序艺术家邀请键 + */ + public static final String WECHAT_CREATOR_INVITE_KEY = "bnyer.img.invite.creator:"; + + /** + * 审核收益锁键 + */ + public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:"; + + /** + * 平台用户下载键 + */ + public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index 530e4e3..c56e6e0 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -16,4 +16,10 @@ public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); //图片检测+图片上传+图片保存 void checkUploadSave(FileUploadDto fileUploadDto) throws IOException; + + /** + * 写入艺术家上传次数 + * @param creator 艺术家id + */ + void writeDownloadTotalNum(Long creator); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index bd806d8..2b5ec5c 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,5 +1,7 @@ package com.bnyer.file.service.impl; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.file.constants.RedisKeyConstant; import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; @@ -11,6 +13,7 @@ import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; import com.bnyer.system.api.RemoteFileService; +import lombok.extern.slf4j.Slf4j; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; @@ -22,7 +25,9 @@ import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.UUID; /** @@ -31,6 +36,7 @@ import java.util.UUID; * @Description: */ @Service("file") +@Slf4j public class FileServiceImpl implements IFileService { @Autowired private IQiniuService qiniuService; @@ -38,6 +44,8 @@ public class FileServiceImpl implements IFileService { private ITikTokImage tikTokImage; @Autowired private RemoteImgService remoteImgService; + @Autowired + private RedisService redisService; @Override public ArrayList checkImg(ArrayList multipartFiles) { ArrayList chekFileVos = new ArrayList<>(); @@ -49,13 +57,13 @@ public class FileServiceImpl implements IFileService { String filename = multipartFile.getResource().getFilename(); chekFileVo.setFileName(filename); String imageString = ImgUtil.getImageString(multipartFile); - String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," +imageString); - if (checkMsg.equals("pass")){ + String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," + imageString); + if (checkMsg.equals("pass")) { //抖音图片检测二次检测 // if (tikTokImage.checkImageContent(multipartFile)) { - //可以通过 - chekFileVo.setStatus("1"); - chekFileVos.add(chekFileVo); + //可以通过 + chekFileVo.setStatus("1"); + chekFileVos.add(chekFileVo); // }else { // //不可以通过 // chekFileVo.setStatus("2"); @@ -63,13 +71,13 @@ public class FileServiceImpl implements IFileService { // } continue; } - if (checkMsg.equals("review")){ + if (checkMsg.equals("review")) { //人工审核 chekFileVo.setStatus("0"); chekFileVos.add(chekFileVo); continue; } - if (checkMsg.equals("block")){ + if (checkMsg.equals("block")) { //不可通过 chekFileVo.setStatus("2"); chekFileVos.add(chekFileVo); @@ -81,25 +89,36 @@ public class FileServiceImpl implements IFileService { @Override @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { - ArrayList multipartFiles = new ArrayList<>(); - for (FileDto fileDto : fileUploadDto.getFiles()) { - InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); - MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); - //System.out.println(files.getSize()); - multipartFiles.add(files); - } + //redis累计平台用户当天下载次数,12.00后过期 + writeDownloadTotalNum(fileUploadDto.getCreatorId()); + ArrayList multipartFiles = new ArrayList<>(); + for (FileDto fileDto : fileUploadDto.getFiles()) { + InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); + MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); + //System.out.println(files.getSize()); + multipartFiles.add(files); + } - //检测图片 - for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { - //图片上传 - String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); - TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); - tiktokImg.setImgUrl(imgUrl); - tiktokImg.setStatus(chekFileVo.getStatus()); - tiktokImg.setTypeId(fileUploadDto.getTypeId()); - tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); - remoteImgService.insertTiktokImg(tiktokImg); - } + //检测图片 + for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { + //图片上传 + String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); + TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); + tiktokImg.setImgUrl(imgUrl); + tiktokImg.setStatus(chekFileVo.getStatus()); + tiktokImg.setTypeId(fileUploadDto.getTypeId()); + tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); + remoteImgService.insertTiktokImg(tiktokImg); + } + } + + @Override + public void writeDownloadTotalNum(Long creator) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + log.info("日期【{}】艺术家【{}】下载数+1",date,creator); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + redisService.hashIncr(redisKey, creator.toString(), 1); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java index 72cbdf5..a563643 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java @@ -97,4 +97,8 @@ public class RedisKeyConstant { * 平台用户下载键 */ public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java index 3b91dec..8b273fd 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java @@ -340,4 +340,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } + @ApiOperation(value="检查某艺术家当日下载次数是否超标") + @PostMapping(value = "/checkCreatorCanDownload") + public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ + log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java new file mode 100644 index 0000000..426bd1a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java @@ -0,0 +1,27 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.annotation.Desensitized; +import com.bnyer.common.core.enums.SensitiveTypeEnum; +import com.bnyer.common.core.utils.Sm4Util; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.CreatorAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("艺术家下载次数接收类") +public class CreatorDownloadDto implements Serializable { + + @ApiModelProperty(value="艺术家id") + @NotBlank + private Long creatorId; + + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java index c566413..387a1d0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java @@ -194,4 +194,11 @@ public interface CreatorProfitService { * @return - */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); + + boolean checkCreatorCanDownload(Long creatorId); + + /** + * 批量删除昨日艺术家上传次数 + */ + void batchDeleteCreatorDownloadNum(); } 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 b0c0fc7..345b5bb 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 @@ -384,4 +384,34 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) { return creatorProfitMapper.queryFrontEndAmtDetails(id); } + + @Override + public boolean checkCreatorCanDownload(Long creatorId) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,creatorId.toString())){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); + return downloadNum >= 40; + }else{ + //不存在键则可下载 + return false; + } + } + + @Override + public void batchDeleteCreatorDownloadNum() { + log.info("==============批量删除昨日艺术家上传次数开始!==============="); + long startTime = System.currentTimeMillis(); + //获取昨日日期 + Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String date = simpleDateFormat.format(yesterday); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasKey(redisKey)){ + redisService.deleteObject(redisKey); + } + log.info("==============批量删除昨日艺术家上传次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java index 1d31f96..e682b71 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -26,4 +26,11 @@ public class UserDownloadSyncTask { XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); return ReturnT.SUCCESS; } + + @XxlJob("creatorDownloadSyncTask") + public ReturnT syncCreatorDownload(String param) throws Exception { + creatorProfitService.batchDeleteCreatorDownloadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + return ReturnT.SUCCESS; + } } From 23ff8b0c8f253f10dfa029cfb8dc685dab6671f5 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 21:39:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/file/constants/RedisKeyConstant.java | 2 +- .../java/com/bnyer/file/service/IFileService.java | 4 ++-- .../com/bnyer/file/service/impl/FileServiceImpl.java | 10 +++++----- .../bnyer/img/controller/CreatorMiniController.java | 11 +++++------ ...CreatorDownloadDto.java => CreatorUploadDto.java} | 8 ++++---- .../com/bnyer/img/service/CreatorProfitService.java | 7 ++++++- .../img/service/impl/CreatorProfitServiceImpl.java | 12 ++++++++---- 7 files changed, 31 insertions(+), 23 deletions(-) rename bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/{CreatorDownloadDto.java => CreatorUploadDto.java} (72%) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java index 495eb85..14ea436 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -100,5 +100,5 @@ public class RedisKeyConstant { /** * 艺术家上传键 */ - public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; + public static final String CREATOR_UPLOAD_KEY="bnyer.img.createor.upload"; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index c56e6e0..12cb86b 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -19,7 +19,7 @@ public interface IFileService { /** * 写入艺术家上传次数 - * @param creator 艺术家id + * @param creatorId 艺术家id */ - void writeDownloadTotalNum(Long creator); + void writeUploadTotalNum(Long creatorId); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 2b5ec5c..f3764f8 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -90,7 +90,7 @@ public class FileServiceImpl implements IFileService { @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { //redis累计平台用户当天下载次数,12.00后过期 - writeDownloadTotalNum(fileUploadDto.getCreatorId()); + writeUploadTotalNum(fileUploadDto.getCreatorId()); ArrayList multipartFiles = new ArrayList<>(); for (FileDto fileDto : fileUploadDto.getFiles()) { InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); @@ -113,12 +113,12 @@ public class FileServiceImpl implements IFileService { } @Override - public void writeDownloadTotalNum(Long creator) { + public void writeUploadTotalNum(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - log.info("日期【{}】艺术家【{}】下载数+1",date,creator); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - redisService.hashIncr(redisKey, creator.toString(), 1); + log.info("日期【{}】艺术家【{}】下载数+1",date,creatorId); + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; + redisService.hashIncr(redisKey, creatorId.toString(), 1); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java index 8b273fd..b06d8e1 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java @@ -6,7 +6,6 @@ import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; import com.bnyer.img.constants.TiktokConstant; -import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; import com.github.pagehelper.PageHelper; @@ -340,10 +339,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } - @ApiOperation(value="检查某艺术家当日下载次数是否超标") - @PostMapping(value = "/checkCreatorCanDownload") - public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ - log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + @ApiOperation(value="检查某艺术家当日上传次数是否超标") + @PostMapping(value = "/checkCreatorCanUpload") + public AjaxResult checkCreatorCanUpload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorUploadDto dto){ + log.debug("【艺术家小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanUpload(dto.getCreatorId())); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java similarity index 72% rename from bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java rename to bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java index 426bd1a..75268f2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java @@ -10,17 +10,17 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; -import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; @Getter @Setter -@ApiModel("艺术家下载次数接收类") -public class CreatorDownloadDto implements Serializable { +@ApiModel("艺术家上传次数接收类") +public class CreatorUploadDto implements Serializable { @ApiModelProperty(value="艺术家id") - @NotBlank + @NotNull(message = "艺术家id不能为空!") private Long creatorId; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java index 387a1d0..0a63269 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java @@ -195,7 +195,12 @@ public interface CreatorProfitService { */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); - boolean checkCreatorCanDownload(Long creatorId); + /** + * 检查艺术家上传是否超标 + * @param creatorId 艺术家id + * @return - + */ + boolean checkCreatorCanUpload(Long creatorId); /** * 批量删除昨日艺术家上传次数 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 345b5bb..35c6af1 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 @@ -386,16 +386,20 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } @Override - public boolean checkCreatorCanDownload(Long creatorId) { + public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - if(redisService.hasHashKey(redisKey,creatorId.toString())){ + if (redisService.hasHashKey(redisKey, creatorId.toString())) { //存在键,判断次数,次数达标则不可下载 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); - return downloadNum >= 40; + if (downloadNum >= 40) { + return true; + } else { + return false; + } }else{ - //不存在键则可下载 + //不存在键则可上传 return false; } } From 7a9e9064680e4fe2831455439030dd73a7472dc0 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 22:18:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bnyer/file/controller/SysFileController.java | 2 -- .../java/com/bnyer/file/service/impl/FileServiceImpl.java | 8 ++------ .../java/com/bnyer/img/constants/RedisKeyConstant.java | 2 +- .../java/com/bnyer/img/service/CreatorProfitService.java | 2 +- .../bnyer/img/service/impl/CreatorProfitServiceImpl.java | 8 ++++---- .../java/com/bnyer/img/task/UserDownloadSyncTask.java | 6 +++--- 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index f002008..9415d12 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -1,6 +1,5 @@ package com.bnyer.file.controller; -import cn.hutool.log.Log; import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; import com.bnyer.file.dto.FileDto; @@ -20,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index f3764f8..62d0450 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -9,10 +9,8 @@ import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.ITikTokImage; import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.vo.ChekFileVo; -import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; -import com.bnyer.system.api.RemoteFileService; import lombok.extern.slf4j.Slf4j; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; @@ -21,14 +19,12 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import java.util.UUID; /** * @Author: Yeman @@ -89,7 +85,7 @@ public class FileServiceImpl implements IFileService { @Override @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { - //redis累计平台用户当天下载次数,12.00后过期 + //redis累计艺术家当天上传次数,12.00后过期 writeUploadTotalNum(fileUploadDto.getCreatorId()); ArrayList multipartFiles = new ArrayList<>(); for (FileDto fileDto : fileUploadDto.getFiles()) { @@ -116,7 +112,7 @@ public class FileServiceImpl implements IFileService { public void writeUploadTotalNum(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - log.info("日期【{}】艺术家【{}】下载数+1",date,creatorId); + log.info("日期【{}】艺术家【{}】上传数+1",date,creatorId); String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; redisService.hashIncr(redisKey, creatorId.toString(), 1); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java index a563643..e5c7bd3 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java @@ -100,5 +100,5 @@ public class RedisKeyConstant { /** * 艺术家上传键 */ - public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; + public static final String CREATOR_UPLOAD_KEY="bnyer.img.creator.upload:"; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java index 0a63269..c7f2231 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java @@ -205,5 +205,5 @@ public interface CreatorProfitService { /** * 批量删除昨日艺术家上传次数 */ - void batchDeleteCreatorDownloadNum(); + void batchDeleteCreatorUploadNum(); } 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 35c6af1..d24b87c 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 @@ -389,9 +389,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; if (redisService.hasHashKey(redisKey, creatorId.toString())) { - //存在键,判断次数,次数达标则不可下载 + //存在键,判断次数,次数达标则不可上传 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); if (downloadNum >= 40) { return true; @@ -405,14 +405,14 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } @Override - public void batchDeleteCreatorDownloadNum() { + public void batchDeleteCreatorUploadNum() { log.info("==============批量删除昨日艺术家上传次数开始!==============="); long startTime = System.currentTimeMillis(); //获取昨日日期 Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String date = simpleDateFormat.format(yesterday); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; if(redisService.hasKey(redisKey)){ redisService.deleteObject(redisKey); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java index e682b71..7b51221 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -28,9 +28,9 @@ public class UserDownloadSyncTask { } @XxlJob("creatorDownloadSyncTask") - public ReturnT syncCreatorDownload(String param) throws Exception { - creatorProfitService.batchDeleteCreatorDownloadNum(); - XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + public ReturnT syncCreatorUpload(String param) throws Exception { + creatorProfitService.batchDeleteCreatorUploadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户上传次数任务", System.currentTimeMillis()); return ReturnT.SUCCESS; } }