Browse Source

feature1.0.0-img:完成收益查询方法

master
chengkun 4 years ago
parent
commit
f68f405a4d
  1. 70
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
  2. 12
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  3. 26
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
  4. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitInOrEndDto.java
  5. 25
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java
  6. 61
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
  7. 44
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
  8. 122
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  9. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitDownloadCountVo.java
  10. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java
  11. 74
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAdAmtVo.java
  12. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtCountVo.java
  13. 55
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java
  14. 26
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInviteCountVo.java
  15. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreCountVo.java
  16. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java
  17. 71
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml
  18. 1
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml

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

@ -190,16 +190,6 @@ public class CreatorMiniController extends BaseController {
return AjaxResult.success(withdrawLogService.insert(dto.extractParam()));
}
//@TokenCheck
// @ApiOperation(value="新增艺术家即将入账邀请收益缓存")
// @PostMapping(value = "/insertPreInviteProfit")
// public AjaxResult insertPreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
// log.info("【艺术家小程序】新增艺术家即将入账邀请收益缓存参数为:{}", JSON.toJSONString(dto));
// return AjaxResult.success(creatorProfitService.insertPreInviteProfit(dto));
// }
//@TokenCheck
@ApiOperation(value="艺术家手动确认收益")
@PostMapping(value = "/handleUpdateConfirmType")
@ -209,57 +199,45 @@ public class CreatorMiniController extends BaseController {
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家即将入账广告次数列表")
@GetMapping(value = "/queryFrontPreCreatorProfitCount/{creatorId}")
public AjaxResult queryFrontPreCreatorProfitCount(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】即将入账广告次数列表",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontPreCreatorProfitCount(creatorId));
@ApiOperation(value="查询指定艺术家即将入账广告及邀请次数列表")
@GetMapping(value = "/queryFrontPreDownloadAndInviteCount/{creatorId}")
public AjaxResult queryFrontPreDownloadAndInviteCount(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】即将入账广告及邀请次数列表",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontPreDownloadAndInviteCount(creatorId));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家即将入账广告收益列表")
@GetMapping(value = "/queryFrontPreCreatorProfit/{creatorId}")
public AjaxResult queryFrontPreCreatorProfit(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】即将入账广告收益列表",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontPreAdCreatorProfit(creatorId));
@ApiOperation(value="查询指定艺术家即将入账收益列表")
@PostMapping(value = "/queryFrontPreProfit")
public AjaxResult queryFrontPreProfit(@Validated @RequestBody @ApiParam("即将入账对象") ProfitStatusDto params){
return AjaxResult.success(creatorProfitService.queryFrontPreProfit(params.getCreatorId(),params.getType()));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账/转入钱包广告收益累计")
@ApiOperation(value="查询指定艺术家已入账/转入钱包累计收益")
@PostMapping(value = "/queryFrontInOrOutAmt")
public AjaxResult queryFrontInOrOutAmt(@Validated @RequestBody @ApiParam("参数对象") ProfitInOrOutDto params){
return AjaxResult.success(creatorProfitService.queryFrontInOrOutProfitAmt(params));
public AjaxResult queryFrontInOrOutAmt(@Validated @RequestBody @ApiParam("参数对象") ProfitInOrEndDto params){
return AjaxResult.success(creatorProfitService.queryFrontInOrEndProfitAmt(params));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账广告收益")
@GetMapping(value = "/queryFrontInAdAmt/{creatorId}")
public AjaxResult queryFrontInAdAmt(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】已入账广告收益",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontInAdProfitAmt(creatorId));
@ApiOperation(value="查询指定艺术家已入账收益列表")
@PostMapping(value = "/queryFrontInProfitAmt")
public AjaxResult queryFrontInProfitAmt(@Validated @RequestBody @ApiParam("已入账对象") ProfitStatusDto params){
return AjaxResult.success(creatorProfitService.queryFrontInProfitAmt(params.getCreatorId(),params.getType()));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账广告收益详情")
@GetMapping(value = "/queryFrontInAdAmtDetails/{id}")
public AjaxResult queryFrontInAdAmtDetails(@PathVariable @ApiParam("收益id") Long id){
return AjaxResult.success(creatorProfitService.queryFrontInAdProfitAmtDetails(id));
@ApiOperation(value="查询指定艺术家已入账收益详情")
@GetMapping(value = "/queryFrontInAmtDetails/{id}")
public AjaxResult queryFrontInAmtDetails(@PathVariable @ApiParam("收益id") Long id){
return AjaxResult.success(creatorProfitService.queryFrontInProfitAmtDetails(id));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家转入钱包广告收益")
@GetMapping(value = "/queryFrontEndAdProfitAmt/{creatorId}")
public AjaxResult queryFrontEndAdProfitAmt(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】转入钱包广告收益",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontEndAdProfitAmt(creatorId));
@ApiOperation(value="查询指定艺术家转入钱包收益列表")
@PostMapping(value = "/queryFrontEndProfitAmt")
public AjaxResult queryFrontEndProfitAmt(@Validated @RequestBody @ApiParam("转入钱包对象") ProfitStatusDto params){
return AjaxResult.success(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType()));
}
//
// //@TokenCheck
// @ApiOperation(value="查询指定艺术家当天即将入账邀请收益列表")
// @GetMapping(value = "/getPreInviteProfitList/{creatorId}")
// public AjaxResult getPreInviteProfitList(@PathVariable @ApiParam("艺术家id") Long creatorId){
// log.info("【艺术家小程序】查询指定艺术家id【{}】当天即将入账邀请收益列表",creatorId);
// return AjaxResult.success(creatorProfitService.queryFrontPreInviteProfitList(creatorId));
// }
}

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

@ -186,10 +186,10 @@ public class TiktokMiniController extends BaseController {
}
//@TokenCheck
// @ApiOperation(value="新增艺术家即将入账广告收益缓存")
// @PostMapping(value = "/insertPreAdProfit")
// public AjaxResult insertPreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
// log.info("【抖音图文小程序】新增艺术家即将入账收益缓存参数为:{}", JSON.toJSONString(dto));
// return AjaxResult.success(creatorProfitService.insertPreAdProfit(dto));
// }
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账对象") CreatorProfitAdInsertDto dto){
log.info("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
}
}

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

@ -1,6 +1,7 @@
package com.bnyer.img.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
@ -9,12 +10,11 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家新增广告收益接收类")
@ApiModel("艺术家新增/更新广告收益接收类")
public class CreatorProfitAdInsertDto implements Serializable {
@NotNull(message = "艺术家id不能为空!")
@ -29,10 +29,6 @@ public class CreatorProfitAdInsertDto implements Serializable {
@ApiModelProperty(value="图片id")
private Long imgId;
@NotBlank(message = "图片地址不能为空!")
@ApiModelProperty(value="图片地址")
private String imgUrl;
@NotBlank(message = "结算平台不能为空!")
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;
@ -41,15 +37,9 @@ public class CreatorProfitAdInsertDto implements Serializable {
@ApiModelProperty(value="应用类型(0->bnyer壁纸)")
private String appType;
@NotBlank(message = "收益类型不能为空!")
@ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)")
private String type;
@NotBlank(message = "收益状态不能为空!")
@ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)")
private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="创建时间")
private Date createTime;
public CreatorProfit extractParam(){
CreatorProfit creatorProfit = new CreatorProfit();
BeanUtils.copyProperties(this, creatorProfit);
return creatorProfit;
}
}

4
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitInOrOutDto.java → bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitInOrEndDto.java

@ -10,8 +10,8 @@ import java.io.Serializable;
@Getter
@Setter
@ApiModel("收益入账转入钱包接收类")
public class ProfitInOrOutDto implements Serializable {
@ApiModel("已入账或转入钱包接收类")
public class ProfitInOrEndDto implements Serializable {
@ApiModelProperty(value="艺术家id")
private Long creatorId;

25
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java

@ -0,0 +1,25 @@
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.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("入账类型接收类")
public class ProfitStatusDto implements Serializable {
@NotNull(message = "艺术家id不能为空!")
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@NotBlank(message = "收益类型不能为空!")
@ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)")
private String type;
}

61
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java

@ -2,11 +2,12 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@ -29,50 +30,90 @@ public interface CreatorProfitMapper extends BaseMapper<CreatorProfit> {
* @param imgId 图片Id
* @param appType 应用
* @param platform 平台
* @param type 类型
* @param date 日期
* @return -
*/
int updateDownloadNum(@Param("creatorId") Long creatorId,@Param("imgId") Long imgId,@Param("appType") String appType,@Param("platform") String platform,@Param("date") String date);
int updateDownloadNum(@Param("creatorId") Long creatorId,@Param("imgId") Long imgId,@Param("appType") String appType,@Param("platform") String platform,@Param("type")String type,@Param("date") String date);
/**
* 小程序查询即将入账日期下载次数
* 小程序查询即将入账日期下载次数
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitCountVo> queryFrontPreCreatorProfitCount(@Param("creatorId") Long creatorId);
List<CreatorProfitDownloadCountVo> queryFrontPreDownloadCount(@Param("creatorId") Long creatorId);
/**
* 小程序查询即将入账日期邀请下载次数
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitInviteCountVo> queryFrontPreInviteCount(@Param("creatorId") Long creatorId);
/**
* 小程序查询即将入账广告收益列表
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitPreAdVo> queryFrontPreAdCreatorProfit(@Param("creatorId") Long creatorId);
List<CreatorProfitPreVo> queryFrontPreProfit(@Param("creatorId") Long creatorId,@Param("type") String type);
/**
* 小程序查询已入账广告收益累计
* @param params 参数对象
* @return -
*/
CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(@Param("params") ProfitInOrOutDto params);
BigDecimal queryFrontInOrEndAdAmt(@Param("params") ProfitInOrEndDto params);
/**
* 小程序查询已入账邀请收益累计
* @param params 参数对象
* @return -
*/
BigDecimal queryFrontInOrEndInviteAmt(@Param("params") ProfitInOrEndDto params);
/**
* 小程序查询已入账广告收益
* @param creatorId 艺术家id
* @param type 类型
* @return -
*/
List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(@Param("creatorId") Long creatorId);
List<CreatorProfitInAmtVo> queryFrontInProfitAmt(@Param("creatorId") Long creatorId, @Param("type") String type);
/**
* 小程序查询已入账广告收益详情
* @param id 主键id
* @return -
*/
CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(@Param("id") Long id);
CreatorProfitInAmtVo queryFrontInProfitAmtDetails(@Param("id") Long id);
/**
* 小程序查询转入钱包广告及邀请收益
* @param creatorId 艺术家id
* @param type 类型
* @return -
*/
List<CreatorProfitEndAmtVo> queryFrontEndProfitAmt(@Param("creatorId") Long creatorId,@Param("type") String type);
/**
* 小程序查询转入钱包广告收益
* 判断当天是否存在结算收益订单数据
* @param creatorId 艺术家id
* @param imgId 图片id
* @param platform 平台
* @param appType 应用
* @param date 日期(年月日)
* @return -
*/
List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(@Param("creatorId") Long creatorId);
CreatorProfit checkCreatorProfitExist(@Param("creatorId") Long creatorId,@Param("imgId") Long imgId,@Param("appType") String appType,
@Param("platform") String platform, @Param("type") String type, @Param("date") String date);
/**
* 批量更新邀请记录下载次数
* @param list -
*/
void batchUpdateDownload(List<CreatorProfit> list);
/**
* 批量新增邀请收益
* @param list -
*/
void batchInsertInviteProfit(List<CreatorProfit> list);
}

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

@ -2,7 +2,7 @@ package com.bnyer.img.service;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*;
import java.util.List;
@ -20,28 +20,37 @@ public interface CreatorProfitService {
* @param imgId 图片id
* @param platform 平台
* @param appType 应用
* @param type 类型
* @param date 日期(年月日)
* @return -
*/
boolean checkCreatorProfitExist(Long creatorId,Long imgId,String appType,String platform,String date);
boolean checkCreatorProfitExist(Long creatorId,Long imgId,String appType,String platform,String type,String date);
/**
* 新增广告收益结算
* 新增或更新广告收益记录
* @param creatorProfit 广告收益参数
* @return -
*/
int insertCreatorProfit(CreatorProfit creatorProfit);
/**
* 新增或更新邀请收益
* @param creatorProfit 邀请收益参数
* @return -
*/
int insertInvitedProfit(CreatorProfit creatorProfit);
/**
* 更新指定日期图片下载数量
* @param creatorId 艺术家id
* @param imgId 图片id
* @param appType 应用
* @param platform 平台
* @param type 类型
* @param date 日期
* @return -
*/
int updateCreatorProfitDownloadNum(Long creatorId,Long imgId,String appType,String platform,String date);
int updateCreatorProfitDownloadNum(Long creatorId,Long imgId,String appType,String platform,String type,String date);
/**
* 修改结算收益
@ -101,44 +110,47 @@ public interface CreatorProfitService {
ProfitVo queryFrontProfitInfo(Long creatorId);
/**
* 小程序查询即将入账日期下载次数
* 小程序查询即将入账日期下载次数和邀请次数
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitCountVo> queryFrontPreCreatorProfitCount(Long creatorId);
CreatorProfitPreCountVo queryFrontPreDownloadAndInviteCount(Long creatorId);
/**
* 小程序查询即将入账广告收益列表
* 小程序查询即将入账广告及邀请收益列表
* @param creatorId 艺术家id
* @param type 收益类型
* @return -
*/
List<CreatorProfitPreAdVo> queryFrontPreAdCreatorProfit(Long creatorId);
List<CreatorProfitPreVo> queryFrontPreProfit(Long creatorId,String type);
/**
* 小程序查询已入账广告收益累计
* 小程序查询已入账或转入钱包收益累计
* @param params 参数对象
* @return -
*/
CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(ProfitInOrOutDto params);
CreatorProfitInAmtCountVo queryFrontInOrEndProfitAmt(ProfitInOrEndDto params);
/**
* 小程序查询已入账广告收益
* 小程序查询已入账广告及邀请收益列表
* @param creatorId 艺术家id
* @param type 类型
* @return -
*/
List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(Long creatorId);
List<CreatorProfitInAmtVo> queryFrontInProfitAmt(Long creatorId, String type);
/**
* 小程序查询已入账广告收益详情
* 小程序查询已入账广告及邀请收益详情
* @param id 主键id
* @return -
*/
CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(Long id);
CreatorProfitInAmtVo queryFrontInProfitAmtDetails(Long id);
/**
* 小程序查询转入钱包广告收益
* 小程序查询转入钱包广告及邀请收益
* @param creatorId 艺术家id
* @param type 类型
* @return -
*/
List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(Long creatorId);
List<CreatorProfitEndAmtVo> queryFrontEndProfitAmt(Long creatorId, String type);
}

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

@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.domain.InviteLog;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.mapper.CreatorProfitMapper;
import com.bnyer.img.mapper.InviteLogMapper;
import com.bnyer.img.service.CreatorProfitService;
import com.bnyer.img.service.InviteLogService;
import com.bnyer.img.service.TiktokImgService;
import com.bnyer.img.vo.*;
import lombok.extern.slf4j.Slf4j;
@ -16,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -33,15 +38,12 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
@Autowired
private TiktokImgService tiktokImgService;
@Autowired
private InviteLogMapper inviteLogMapper;
@Override
public boolean checkCreatorProfitExist(Long creatorId, Long imgId,String appType,String platform, String date) {
LambdaQueryWrapper<CreatorProfit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CreatorProfit::getCreatorId, creatorId);
wrapper.eq(CreatorProfit::getImgId, imgId);
wrapper.eq(CreatorProfit::getAppType, appType);
wrapper.eq(CreatorProfit::getPlatform,platform);
wrapper.eq(CreatorProfit::getCreateTime, date);
CreatorProfit creatorProfit = creatorProfitMapper.selectOne(wrapper);
public boolean checkCreatorProfitExist(Long creatorId, Long imgId,String appType,String platform,String type, String date) {
CreatorProfit creatorProfit = creatorProfitMapper.checkCreatorProfitExist(creatorId, imgId, appType, platform,type, date);
if(creatorProfit != null){
return false;
}else{
@ -52,19 +54,79 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
@Override
@Transactional(rollbackFor = Exception.class)
public int insertCreatorProfit(CreatorProfit creatorProfit) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis();
String date = format.format(times);
//检查收益表是否存在广告记录,存在则更新次数
boolean b = this.checkCreatorProfitExist(creatorProfit.getCreatorId(),creatorProfit.getImgId(),creatorProfit.getAppType(),creatorProfit.getPlatform(),"0",date);
if(b){
int update = this.updateCreatorProfitDownloadNum(creatorProfit.getCreatorId(), creatorProfit.getImgId(), creatorProfit.getAppType(), creatorProfit.getPlatform(),"0", date);
log.info("更新日期【{}】艺术家【{}】图片【{}】应用【{}】平台【{}】收益下载次数+1",date,creatorProfit.getCreatorId(), creatorProfit.getImgId(), creatorProfit.getAppType(), creatorProfit.getPlatform());
return update;
}
//不存在则新增广告记录
creatorProfit.setCreateTime(new Date());
creatorProfit.setUpdateTime(new Date());
creatorProfit.setType("0");
creatorProfit.setStatus("0");
creatorProfit.setIsShow("1");
creatorProfit.setSort(0);
creatorProfit.setDownloadNum(1);
return creatorProfitMapper.insert(creatorProfit);
int insert = creatorProfitMapper.insert(creatorProfit);
log.info("新增艺术家【{}】图片【{}】应用【{}】平台【{}】收益记录",creatorProfit.getCreatorId(), creatorProfit.getImgId(), creatorProfit.getAppType(), creatorProfit.getPlatform());
return insert;
}
private void batchUpdateDownload(List<CreatorProfit> list){
creatorProfitMapper.batchUpdateDownload(list);
}
private void batchInsertInviteProfit(List<CreatorProfit> list){
creatorProfitMapper.batchInsertInviteProfit(list);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int insertInvitedProfit(CreatorProfit creatorProfit) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis();
String date = format.format(times);
//查询邀请表
LambdaQueryWrapper<InviteLog> wrapper = new LambdaQueryWrapper<InviteLog>();
wrapper.eq(InviteLog::getInvitedCreatorId, creatorProfit.getCreatorId());
List<InviteLog> inviteLogs = inviteLogMapper.selectList(wrapper);
if(inviteLogs.size() > 0){
List<Long> updateList = new ArrayList<>();
List<Long> insertList = new ArrayList<>();
for (InviteLog inviteLog : inviteLogs) {
//检查收益表是否存在邀请记录,存在则记录更新邀请者Id
boolean b = this.checkCreatorProfitExist(inviteLog.getCreatorId(),creatorProfit.getImgId(),creatorProfit.getAppType(),creatorProfit.getPlatform(),"1",date);
if(b){
updateList.add(inviteLog.getCreatorId());
}
//不存在则新增邀请者id
insertList.add(inviteLog.getCreatorId());
// creatorProfit.setCreatorId(inviteLog.getCreatorId());
// creatorProfit.setCreateTime(new Date());
// creatorProfit.setUpdateTime(new Date());
// creatorProfit.setType("1");
// creatorProfit.setStatus("0");
// creatorProfit.setIsShow("1");
// creatorProfit.setSort(0);
// creatorProfit.setDownloadNum(1);
}
//批量更新邀请记录
//批量新增邀请记录
}
return 0;
}
@Override
@Transactional(rollbackFor = Exception.class)
public int updateCreatorProfitDownloadNum(Long creatorId, Long imgId, String appType, String platform, String date) {
return creatorProfitMapper.updateDownloadNum(creatorId,imgId,appType,platform,date);
public int updateCreatorProfitDownloadNum(Long creatorId, Long imgId, String appType, String platform,String type, String date) {
return creatorProfitMapper.updateDownloadNum(creatorId,imgId,appType,platform,type,date);
}
@Override
@ -168,32 +230,44 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
@Override
public List<CreatorProfitCountVo> queryFrontPreCreatorProfitCount(Long creatorId) {
return creatorProfitMapper.queryFrontPreCreatorProfitCount(creatorId);
public CreatorProfitPreCountVo queryFrontPreDownloadAndInviteCount(Long creatorId) {
//下载收益
List<CreatorProfitDownloadCountVo> creatorProfitDownloadCountVos = creatorProfitMapper.queryFrontPreDownloadCount(creatorId);
//邀请收益
List<CreatorProfitInviteCountVo> creatorProfitInviteCountVos = creatorProfitMapper.queryFrontPreInviteCount(creatorId);
CreatorProfitPreCountVo result = new CreatorProfitPreCountVo();
result.setCreatorProfitDownloadCount(creatorProfitDownloadCountVos);
result.setCreatorProfitInviteCount(creatorProfitInviteCountVos);
return result;
}
@Override
public List<CreatorProfitPreAdVo> queryFrontPreAdCreatorProfit(Long creatorId) {
return creatorProfitMapper.queryFrontPreAdCreatorProfit(creatorId);
public List<CreatorProfitPreVo> queryFrontPreProfit(Long creatorId,String type) {
return creatorProfitMapper.queryFrontPreProfit(creatorId,type);
}
@Override
public CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(ProfitInOrOutDto params) {
return creatorProfitMapper.queryFrontInOrOutProfitAmt(params);
public CreatorProfitInAmtCountVo queryFrontInOrEndProfitAmt(ProfitInOrEndDto params) {
BigDecimal adAmt = creatorProfitMapper.queryFrontInOrEndAdAmt(params);
BigDecimal inviteAmt = creatorProfitMapper.queryFrontInOrEndInviteAmt(params);
CreatorProfitInAmtCountVo result = new CreatorProfitInAmtCountVo();
result.setProfit(adAmt);
result.setInviteProfit(inviteAmt);
return result;
}
@Override
public List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(Long creatorId) {
return creatorProfitMapper.queryFrontInAdProfitAmt(creatorId);
public List<CreatorProfitInAmtVo> queryFrontInProfitAmt(Long creatorId, String type) {
return creatorProfitMapper.queryFrontInProfitAmt(creatorId,type);
}
@Override
public CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(Long id) {
return creatorProfitMapper.queryFrontInAdProfitAmtDetails(id);
public CreatorProfitInAmtVo queryFrontInProfitAmtDetails(Long id) {
return creatorProfitMapper.queryFrontInProfitAmtDetails(id);
}
@Override
public List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(Long creatorId) {
return creatorProfitMapper.queryFrontEndAdProfitAmt(creatorId);
public List<CreatorProfitEndAmtVo> queryFrontEndProfitAmt(Long creatorId, String type) {
return creatorProfitMapper.queryFrontEndProfitAmt(creatorId,type);
}
}

4
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitCountVo.java → bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitDownloadCountVo.java

@ -13,8 +13,8 @@ import java.util.List;
@Getter
@Setter
@ApiModel("艺术家收益次数响应类")
public class CreatorProfitCountVo implements Serializable {
@ApiModel("艺术家下载收益次数响应类")
public class CreatorProfitDownloadCountVo implements Serializable {
@ApiModelProperty(value="下载次数")
private Integer downloadNum;

4
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAdAmtVo.java → bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java

@ -13,8 +13,8 @@ import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家转入钱包广告收益响应类")
public class CreatorProfitEndAdAmtVo implements Serializable {
@ApiModel("艺术家转入钱包广告及邀请收益响应类")
public class CreatorProfitEndAmtVo implements Serializable {
@ApiModelProperty(value="主键id")
private Long id;

74
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAdAmtVo.java

@ -1,74 +0,0 @@
package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家已入账广告收益响应类")
public class CreatorProfitInAdAmtVo implements Serializable {
@ApiModelProperty(value="主键id")
private Long id;
@ApiModelProperty(value="结算流水号")
private String orderNo;
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="收益人/邀请人搜索码")
private String scanCode;
@ApiModelProperty(value="图片id")
private Long imgId;
@ApiModelProperty(value="图片url")
private String url;
@ApiModelProperty(value="结算收益(单位毫分)")
private BigDecimal profit;
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;
@ApiModelProperty(value="应用类型(0->bnyer壁纸)")
private String appType;
@ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)")
private String type;
@ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)")
private String status;
@ApiModelProperty(value="确认收益方式(0->系统自动;1->艺术家手动)")
private String confirmType;
@ApiModelProperty(value="艺术家确认收益状态(0->待确认;1->已确认)")
private String confirmStatus;
@ApiModelProperty(value="下载次数")
private Integer downloadNum;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="平台结算收益时间")
private Date incomeTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="确认收益时间")
private Date confirmTime;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value="创建时间")
private Date createTime;
private static final long serialVersionUID = 1L;
}

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtCountVo.java

@ -0,0 +1,24 @@
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;
import java.math.BigDecimal;
@Getter
@Setter
@ApiModel("艺术家已入账收益累计响应类")
public class CreatorProfitInAmtCountVo implements Serializable {
@ApiModelProperty(value="结算收益(单位毫分)")
private BigDecimal profit;
@ApiModelProperty(value="邀请收益(单位毫分)")
private BigDecimal inviteProfit;
private static final long serialVersionUID = 1L;
}

55
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java

@ -1,5 +1,6 @@
package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@ -7,15 +8,67 @@ import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家已入账广告收益累计响应类")
@ApiModel("艺术家已入账收益响应类")
public class CreatorProfitInAmtVo implements Serializable {
@ApiModelProperty(value="主键id")
private Long id;
@ApiModelProperty(value="结算流水号")
private String orderNo;
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="收益人/邀请人搜索码")
private String scanCode;
@ApiModelProperty(value="图片id")
private Long imgId;
@ApiModelProperty(value="图片url")
private String url;
@ApiModelProperty(value="结算收益(单位毫分)")
private BigDecimal profit;
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;
@ApiModelProperty(value="应用类型(0->bnyer壁纸)")
private String appType;
@ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)")
private String type;
@ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)")
private String status;
@ApiModelProperty(value="确认收益方式(0->系统自动;1->艺术家手动)")
private String confirmType;
@ApiModelProperty(value="艺术家确认收益状态(0->待确认;1->已确认)")
private String confirmStatus;
@ApiModelProperty(value="下载次数")
private Integer downloadNum;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="平台结算收益时间")
private Date incomeTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="确认收益时间")
private Date confirmTime;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value="创建时间")
private Date createTime;
private static final long serialVersionUID = 1L;
}

26
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInviteCountVo.java

@ -0,0 +1,26 @@
package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家邀请收益次数响应类")
public class CreatorProfitInviteCountVo implements Serializable {
@ApiModelProperty(value="邀请下载次数")
private Integer inviteDownloadNum;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value="创建时间")
private Date createTime;
private static final long serialVersionUID = 1L;
}

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreCountVo.java

@ -0,0 +1,24 @@
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;
import java.util.List;
@Getter
@Setter
@ApiModel("艺术家下载收益及邀请收益响应类")
public class CreatorProfitPreCountVo implements Serializable {
@ApiModelProperty(value="下载次数")
List<CreatorProfitDownloadCountVo> creatorProfitDownloadCount;
@ApiModelProperty(value="邀请次数")
List<CreatorProfitInviteCountVo> creatorProfitInviteCount;
private static final long serialVersionUID = 1L;
}

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreAdVo.java → bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java

@ -13,7 +13,7 @@ import java.util.Date;
@Getter
@Setter
@ApiModel("艺术家即将入账广告收益响应类")
public class CreatorProfitPreAdVo implements Serializable {
public class CreatorProfitPreVo implements Serializable {
@ApiModelProperty(value="主键id")
private Long id;

71
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml

@ -44,16 +44,16 @@
update img_creator_profit
set download_num = download_num + 1, update_time = (select NOW())
where creator_id = #{creatorId} and img_id = #{imgId} and app_type = #{appType}
and platform = #{platform} and DATE_FORMAT(create_time,'%Y-%m-%d') = #{date}
and platform = #{platform} and type = #{type} and DATE_FORMAT(create_time,'%Y-%m-%d') = #{date} and status = '0'
</update>
<select id="queryFrontPreCreatorProfitCount" resultType="com.bnyer.img.vo.CreatorProfitCountVo">
<select id="queryFrontPreDownloadCount" resultType="com.bnyer.img.vo.CreatorProfitDownloadCountVo">
select
sum(download_num) as downloadNum,create_time as createTime
from img_creator_profit
where creator_id = #{creatorId} and status = '0' and is_show = '1'
where creator_id = #{creatorId} and status = '0' and is_show = '1' and type = '0'
group by create_time
</select>
<select id="queryFrontPreAdCreatorProfit" resultType="com.bnyer.img.vo.CreatorProfitPreAdVo">
<select id="queryFrontPreProfit" resultType="com.bnyer.img.vo.CreatorProfitPreVo">
select
icp.id as id,icp.creator_id as creatorId,icp.scan_code as scanCode,icp.img_id as imgId,
iti.img_url as url,
@ -61,16 +61,10 @@
icp.download_num as downloadNum,icp.create_time as createTime
from img_creator_profit icp
left join img_tiktok_img iti on iti.id = icp.img_id
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '0' and icp.type = '0'
</select>
<select id="queryFrontInOrOutProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
select
ifnull(sum(profit),0) as profit
from img_creator_profit
where is_show = '1' and creator_id = #{params.creatorId} and status = #{params.status} and type = '0'
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '0' and icp.type = #{type}
</select>
<select id="queryFrontInAdProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAdAmtVo">
<select id="queryFrontInProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
select
icp.id as id,icp.order_no as orderNo,icp.creator_id as creatorId,icp.scan_code as scanCode,
icp.img_id as imgId,icp.profit as profit,icp.platform as platform,icp.app_type as appType,
@ -80,10 +74,10 @@
icp.create_time as createTime
from img_creator_profit icp
left join img_tiktok_img iti on iti.id = icp.img_id
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '1' and icp.type = '0'
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '1' and icp.type = #{type}
</select>
<select id="queryFrontInAdProfitAmtDetails" resultType="com.bnyer.img.vo.CreatorProfitInAdAmtVo">
<select id="queryFrontInProfitAmtDetails" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
select
icp.id as id,icp.order_no as orderNo,icp.creator_id as creatorId,icp.scan_code as scanCode,
icp.img_id as imgId,icp.profit as profit,icp.platform as platform,icp.app_type as appType,
@ -93,10 +87,10 @@
icp.create_time as createTime
from img_creator_profit icp
left join img_tiktok_img iti on iti.id = icp.img_id
where icp.is_show = '1' and icp.id = #{id} and icp.status = '1' and icp.type = '0'
where icp.is_show = '1' and icp.id = #{id} and icp.status = '1'
</select>
<select id="queryFrontEndAdProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitEndAdAmtVo">
<select id="queryFrontEndProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitEndAmtVo">
select
icp.id as id,icp.order_no as orderNo,icp.creator_id as creatorId,icp.scan_code as scanCode,
icp.img_id as imgId,icp.profit as profit,icp.platform as platform,icp.app_type as appType,
@ -104,6 +98,49 @@
icp.type as type,icp.status as status,icp.wallet_time as walletTime
from img_creator_profit icp
left join img_tiktok_img iti on iti.id = icp.img_id
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '2' and icp.type = '0'
where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '2' and icp.type = #{type}
</select>
<select id="queryFrontPreInviteCount" resultType="com.bnyer.img.vo.CreatorProfitInviteCountVo">
select
sum(download_num) as inviteDownloadNum,create_time as createTime
from img_creator_profit
where creator_id = #{creatorId} and status = '0' and is_show = '1' and type = '1'
group by create_time
</select>
<select id="queryFrontInOrEndAdAmt" resultType="java.math.BigDecimal">
select
ifnull(sum(profit),0) as profit
from img_creator_profit
where is_show = '1' and creator_id = #{params.creatorId} and status = #{params.status} and type = '0'
</select>
<select id="queryFrontInOrEndInviteAmt" resultType="java.math.BigDecimal">
select
ifnull(sum(profit),0) as inviteProfit
from img_creator_profit
where is_show = '1' and creator_id = #{params.creatorId} and status = #{params.status} and type = '1'
</select>
<select id="checkCreatorProfitExist" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from img_creator_profit
where creator_id = #{creatorId} and img_id = #{imgId} and app_type = #{appType}
and platform = #{platform} and type = #{type} and DATE_FORMAT(create_time,'%Y-%m-%d') = #{date} and status = '0'
</select>
<update id="batchUpdateDownload">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update img_creator_profit
<set>
</set>
</foreach>
</update>
<insert id="batchInsertInviteProfit">
</insert>
</mapper>

1
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml

@ -26,5 +26,6 @@
from img_invite_log iil
join img_creator ic on iil.invited_creator_id = ic.id
where iil.is_show = '1' and iil.creator_id = #{creatorId}
order by iil.create_time desc
</select>
</mapper>

Loading…
Cancel
Save