Browse Source

feature1.0.0-img:新增用户下载次数控制接口;统计艺术家图片分类数量接口

feature-1.0-img-prototype
chengkun 4 years ago
parent
commit
8acad4bb40
  1. 5
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
  2. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
  3. 12
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
  4. 12
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  5. 12
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java
  6. 10
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
  7. 45
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java
  8. 27
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java
  9. 8
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java
  10. 20
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
  11. 8
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java
  12. 68
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  13. 5
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
  14. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java
  15. 1
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java
  16. 1
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java
  17. 1
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java
  18. 29
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java
  19. 35
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java
  20. 8
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml

5
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java

@ -92,4 +92,9 @@ public class RedisKeyConstant {
* 审核收益锁键
*/
public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:";
/**
* 平台用户下载键
*/
public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:";
}

7
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java

@ -294,4 +294,11 @@ public class CreatorMiniController extends BaseController {
log.info("小程序艺术家数据参数为:{}", JSON.toJSON(param));
return AjaxResult.success(creatorService.login(param));
}
//@TokenCheck
@ApiOperation(value="查询艺术家分类图片数量")
@GetMapping(value = "/queryCreatorTypeImgNum/{creatorId}")
public AjaxResult queryCreatorTypeImgNum(@PathVariable @ApiParam("艺术家id") Long creatorId){
return AjaxResult.success(tiktokImgService.queryCreatorTypeImgNum(creatorId));
}
}

12
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java

@ -197,18 +197,26 @@ public class FhMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
//@TokenCheck
@ApiOperation(value="检查某平台用户当日下载次数是否超标")
@PostMapping(value = "/checkUserCanDownload")
public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
log.debug("【快手图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【快手图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【快手图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();

12
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java

@ -207,18 +207,26 @@ public class TiktokMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
//@TokenCheck
@ApiOperation(value="检查某平台用户当日下载次数是否超标")
@PostMapping(value = "/checkUserCanDownload")
public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
log.debug("【抖音图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();

12
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java

@ -197,18 +197,26 @@ public class WxMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
//@TokenCheck
@ApiOperation(value="检查某平台用户当日下载次数是否超标")
@PostMapping(value = "/checkUserCanDownload")
public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
log.debug("【微信图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【微信图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【微信图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();

10
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java

@ -1,7 +1,5 @@
package com.bnyer.img.dto;
import com.bnyer.common.core.utils.bean.BeanUtils;
import com.bnyer.img.domain.CreatorProfit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@ -37,9 +35,7 @@ public class CreatorProfitAdInsertDto implements Serializable {
@ApiModelProperty(value="应用类型(0->节点壁纸)")
private String appType;
public CreatorProfit extractParam(){
CreatorProfit creatorProfit = new CreatorProfit();
BeanUtils.copyProperties(this, creatorProfit);
return creatorProfit;
}
@NotNull(message = "用户id不能为空!")
@ApiModelProperty(value="用户id")
private Long userId;
}

45
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java

@ -0,0 +1,45 @@
package com.bnyer.img.dto;
import com.bnyer.common.core.utils.bean.BeanUtils;
import com.bnyer.img.domain.CreatorProfit;
import io.swagger.annotations.ApiModel;
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 CreatorProfitInviteInsertDto implements Serializable {
@NotNull(message = "艺术家id不能为空!")
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@NotBlank(message = "收益人搜索码不能为空!")
@ApiModelProperty(value="收益人搜索码")
private String scanCode;
@NotNull(message = "图片id不能为空!")
@ApiModelProperty(value="图片id")
private Long imgId;
@NotBlank(message = "结算平台不能为空!")
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;
@NotBlank(message = "应用类型不能为空!")
@ApiModelProperty(value="应用类型(0->节点壁纸)")
private String appType;
public CreatorProfit extractParam(){
CreatorProfit creatorProfit = new CreatorProfit();
BeanUtils.copyProperties(this, creatorProfit);
return creatorProfit;
}
}

27
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java

@ -0,0 +1,27 @@
package com.bnyer.img.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("检查用户下载次数接收类")
public class checkUserCanDownloadDto implements Serializable {
@ApiModelProperty(value="用户id")
private Long userId;
@NotNull(message = "平台不能为空!")
@ApiModelProperty(value="平台")
private String platform;
@NotNull(message = "应用不能为空!")
@ApiModelProperty(value="应用")
private String appType;
}

8
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java

@ -60,4 +60,12 @@ public interface TiktokImgMapper extends BaseMapper<TiktokImg> {
* @return -
*/
List<TiktokImgVo> queryImgsByScanCodeAndTypeId(@Param("scanCode") String scanCode,@Param("typeId") Long typeId);
/**
* 查询艺术家分类图片数量
* @param typeId 类型id
* @param creatorId 艺术家id
* @return -
*/
Integer queryCreatorTypeImgNum(@Param("typeId") Long typeId,@Param("creatorId") Long creatorId);
}

20
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java

@ -1,6 +1,7 @@
package com.bnyer.img.service;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitAdInsertDto;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*;
@ -23,10 +24,10 @@ public interface CreatorProfitService {
/**
* 新增或更新广告收益记录
* @param creatorProfit 广告收益参数
* @param params 广告收益参数
* @return -
*/
int insertCreatorProfit(CreatorProfit creatorProfit);
int insertCreatorProfit(CreatorProfitAdInsertDto params);
/**
* 新增或更新邀请收益
@ -90,6 +91,11 @@ public interface CreatorProfitService {
*/
void batchUpdateConfirmType();
/**
* 批量删除昨日用户下载次数
*/
void batchDeleteUserDownloadNum();
/**
* 小程序查询收益信息
@ -169,6 +175,16 @@ public interface CreatorProfitService {
/**
* 批量更新收益单状态为转入钱包
* @param list 订单列表
* @return -
*/
int batchUpdate(List<Long> list);
/**
* 检查某平台用户当日下载次数是否超标
* @param userId 用户id
* @param platform 平台
* @param appType 应用
* @return -
*/
boolean checkUserCanDownload(Long userId,String platform,String appType);
}

8
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java

@ -2,6 +2,7 @@ package com.bnyer.img.service;
import com.bnyer.img.domain.TiktokImg;
import com.bnyer.img.dto.TiktokImgPageDto;
import com.bnyer.img.vo.CreatorTypeImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import java.util.List;
@ -115,4 +116,11 @@ public interface TiktokImgService {
* @return -
*/
List<TiktokImgVo> queryImgsByScanCodeAndTypeId(String scanCode,Long typeId);
/**
* 查询艺术家分类图片数量
* @param creatorId 艺术家id
* @return -
*/
CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId);
}

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

@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.common.redis.service.RedissonService;
import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.domain.InviteLog;
import com.bnyer.img.dto.CreatorProfitAdInsertDto;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.mapper.CreatorProfitMapper;
@ -54,16 +56,33 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
}
/**
* 写入下载次数
* @param appType 应用
* @param platform 平台
* @param userId 用户id
*/
private void writePlatformUserDownloadNum(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("日期【{}】应用【{}】平台【{}】用户【{}】下载数+1",date,appType,platform,userId);
String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
redisService.hashIncr(redisKey, hashKey, 1);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int insertCreatorProfit(CreatorProfit creatorProfit) {
public int insertCreatorProfit(CreatorProfitAdInsertDto params) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis();
String date = format.format(times);
String mark = creatorProfit.getCreatorId().toString() + creatorProfit.getImgId().toString() + creatorProfit.getAppType() + creatorProfit.getPlatform() +
String mark = params.getCreatorId().toString() + params.getImgId().toString() + params.getAppType() + params.getPlatform() +
"0" + date.replace("-", "");
//缓存中下载总数+1
tiktokImgService.writeDownloadTotalNum(creatorProfit.getAppType(), creatorProfit.getPlatform());
tiktokImgService.writeDownloadTotalNum(params.getAppType(), params.getPlatform());
//redis累计平台用户当天下载次数,12.00后过期
writePlatformUserDownloadNum(params.getAppType(), params.getPlatform(), params.getUserId());
//检查收益表是否存在广告记录,存在则更新次数
boolean b = this.checkCreatorProfitExist(mark);
if (b) {
@ -72,6 +91,12 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
return update;
}
//不存在则新增广告记录
CreatorProfit creatorProfit = new CreatorProfit();
creatorProfit.setCreatorId(params.getCreatorId());
creatorProfit.setScanCode(params.getScanCode());
creatorProfit.setImgId(params.getImgId());
creatorProfit.setPlatform(params.getPlatform());
creatorProfit.setAppType(params.getAppType());
creatorProfit.setCreateTime(new Date());
creatorProfit.setUpdateTime(new Date());
creatorProfit.setType("0");
@ -81,7 +106,7 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
creatorProfit.setDownloadNum(1);
creatorProfit.setMark(mark);
//根据平台生成订单号
switch (creatorProfit.getPlatform()) {
switch (params.getPlatform()) {
case "0":
creatorProfit.setOrderNo("DY" + IdUtil.getSnowflakeNextIdStr());
break;
@ -231,6 +256,21 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
log.info("==============批量更新艺术家收益状态完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime);
}
@Override
public void batchDeleteUserDownloadNum() {
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.PLATFORM_USER_DOWNLOAD_KEY + date;
if(redisService.hasKey(redisKey)){
redisService.deleteObject(redisKey);
}
log.info("==============批量删除昨日用户下载次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime);
}
@Override
public ProfitVo queryFrontProfitInfo(Long creatorId) {
//累计收益
@ -319,4 +359,24 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
public int batchUpdate(List<Long> list) {
return creatorProfitMapper.batchUpdateTransInfo(list);
}
@Override
public boolean checkUserCanDownload(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_DOWNLOAD_KEY + date;
if(redisService.hasHashKey(redisKey,hashKey)){
//存在键,判断次数,次数达标则不可下载
Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey);
if(downloadNum >= 5){
return true;
}else{
return false;
}
}else{
//不存在键则可下载
return false;
}
}
}

5
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java

@ -23,10 +23,7 @@ import com.bnyer.img.mapper.InviteLogMapper;
import com.bnyer.img.mapper.TiktokImgMapper;
import com.bnyer.img.mapper.VerifyLogMapper;
import com.bnyer.img.service.CreatorService;
import com.bnyer.img.vo.CreatorDetailsVo;
import com.bnyer.img.vo.CreatorHotVo;
import com.bnyer.img.vo.CreatorLoginVo;
import com.bnyer.img.vo.CreatorVo;
import com.bnyer.img.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

19
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java

@ -13,6 +13,7 @@ import com.bnyer.img.mapper.TiktokCollectionMapper;
import com.bnyer.img.mapper.TiktokImgMapper;
import com.bnyer.img.mapper.TiktokLikeMapper;
import com.bnyer.img.service.TiktokImgService;
import com.bnyer.img.vo.CreatorTypeImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -189,4 +190,22 @@ public class TiktokImgServiceImpl implements TiktokImgService {
public List<TiktokImgVo> queryImgsByScanCodeAndTypeId(String scanCode, Long typeId) {
return tiktokImgMapper.queryImgsByScanCodeAndTypeId(scanCode,typeId);
}
@Override
public CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId) {
Integer headNum = tiktokImgMapper.queryCreatorTypeImgNum(1L, creatorId);
Integer gifNum = tiktokImgMapper.queryCreatorTypeImgNum(2L, creatorId);
Integer backNum = tiktokImgMapper.queryCreatorTypeImgNum(3L, creatorId);
Integer friendNum = tiktokImgMapper.queryCreatorTypeImgNum(4L, creatorId);
Integer emoNum = tiktokImgMapper.queryCreatorTypeImgNum(5L, creatorId);
Integer watchNum = tiktokImgMapper.queryCreatorTypeImgNum(6L, creatorId);
CreatorTypeImgVo result = new CreatorTypeImgVo();
result.setHeadNum(headNum);
result.setGifNum(gifNum);
result.setBackNum(backNum);
result.setFriendNum(friendNum);
result.setEmoNum(emoNum);
result.setWatchNum(watchNum);
return result;
}
}

1
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java

@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 同步用户收藏记录任务
* @author chengkun
* @date 2022/5/12 18:13
*/

1
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java

@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 更新艺术家收益状态任务
* @author chengkun
* @date 2022/5/12 18:13
*/

1
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java

@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 同步点赞任务
* @author chengkun
* @date 2022/5/12 18:13
*/

29
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java

@ -0,0 +1,29 @@
package com.bnyer.img.task;
import com.bnyer.img.service.CreatorProfitService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 同步删除昨日用户下载次数任务
* @author chengkun
* @date 2022/5/12 18:13
*/
@Component
@Slf4j
public class UserDownloadSyncTask {
@Autowired
private CreatorProfitService creatorProfitService;
@XxlJob("userDownloadSyncTask")
public ReturnT<String> syncUserDownload(String param) throws Exception {
creatorProfitService.batchDeleteUserDownloadNum();
XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis());
return ReturnT.SUCCESS;
}
}

35
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java

@ -0,0 +1,35 @@
package com.bnyer.img.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("艺术家分类图片数量响应体")
public class CreatorTypeImgVo implements Serializable {
@ApiModelProperty(value="头像数量")
private Integer headNum;
@ApiModelProperty(value="gif动图数量")
private Integer gifNum;
@ApiModelProperty(value="手机壁纸数量")
private Integer backNum;
@ApiModelProperty(value="朋友圈背景数量")
private Integer friendNum;
@ApiModelProperty(value="表情包数量")
private Integer emoNum;
@ApiModelProperty(value="iwatch数量")
private Integer watchNum;
private static final long serialVersionUID = 1L;
}

8
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml

@ -93,4 +93,12 @@
where iti.is_show = '1' and iti.status = '1'
and ic.scan_code = #{scanCode} and iti.type_id = #{typeId}
</select>
<select id="queryCreatorTypeImgNum" resultType="java.lang.Integer">
select
count(id)
from img_tiktok_img
where type_id = #{typeId} and creator_id = #{creatorId} and is_show = '1'
and status = '1'
</select>
</mapper>

Loading…
Cancel
Save