Browse Source

feature1.0.0-img:完成广告收益结算方法

master
chengkun 4 years ago
parent
commit
ed23cf4a64
  1. 32
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
  2. 21
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitInOrOutDto.java
  3. 27
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
  4. 29
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
  5. 25
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  6. 57
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAdAmtVo.java
  7. 74
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAdAmtVo.java
  8. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java
  9. 42
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml

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

@ -225,11 +225,33 @@ public class CreatorMiniController extends BaseController {
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账广告收益累计")
@GetMapping(value = "/queryFrontInCreatorProfitAmt/{creatorId}")
public AjaxResult queryFrontInCreatorProfitAmt(@PathVariable @ApiParam("艺术家id") Long creatorId){
log.info("【艺术家小程序】查询指定艺术家id【{}】已入账广告收益累计",creatorId);
return AjaxResult.success(creatorProfitService.queryFrontInProfitAmt(creatorId));
@ApiOperation(value="查询指定艺术家已入账/转入钱包广告收益累计")
@PostMapping(value = "/queryFrontInOrOutAmt")
public AjaxResult queryFrontInOrOutAmt(@Validated @RequestBody @ApiParam("参数对象") ProfitInOrOutDto params){
return AjaxResult.success(creatorProfitService.queryFrontInOrOutProfitAmt(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));
}
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账广告收益详情")
@GetMapping(value = "/queryFrontInAdAmtDetails/{id}")
public AjaxResult queryFrontInAdAmtDetails(@PathVariable @ApiParam("收益id") Long id){
return AjaxResult.success(creatorProfitService.queryFrontInAdProfitAmtDetails(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));
}
//
// //@TokenCheck

21
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitInOrOutDto.java

@ -0,0 +1,21 @@
package com.bnyer.img.dto;
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 ProfitInOrOutDto implements Serializable {
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)")
private String status;
}

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

@ -2,9 +2,8 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.vo.CreatorProfitCountVo;
import com.bnyer.img.vo.CreatorProfitInAmtVo;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -51,9 +50,29 @@ public interface CreatorProfitMapper extends BaseMapper<CreatorProfit> {
/**
* 小程序查询已入账广告收益累计
* @param params 参数对象
* @return -
*/
CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(@Param("params") ProfitInOrOutDto params);
/**
* 小程序查询已入账广告收益
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitInAmtVo> queryFrontInProfitAmt(@Param("creatorId") Long creatorId);
List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(@Param("creatorId") Long creatorId);
/**
* 小程序查询已入账广告收益详情
* @param id 主键id
* @return -
*/
CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(@Param("id") Long id);
/**
* 小程序查询转入钱包广告收益
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(@Param("creatorId") Long creatorId);
}

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

@ -2,10 +2,8 @@ package com.bnyer.img.service;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.vo.CreatorProfitCountVo;
import com.bnyer.img.vo.CreatorProfitInAmtVo;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import com.bnyer.img.vo.ProfitVo;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.vo.*;
import java.util.List;
@ -118,8 +116,29 @@ public interface CreatorProfitService {
/**
* 小程序查询已入账广告收益累计
* @param params 参数对象
* @return -
*/
CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(ProfitInOrOutDto params);
/**
* 小程序查询已入账广告收益
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(Long creatorId);
/**
* 小程序查询已入账广告收益详情
* @param id 主键id
* @return -
*/
CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(Long id);
/**
* 小程序查询转入钱包广告收益
* @param creatorId 艺术家id
* @return -
*/
List<CreatorProfitInAmtVo> queryFrontInProfitAmt(Long creatorId);
List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(Long creatorId);
}

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

@ -6,13 +6,11 @@ import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.mapper.CreatorProfitMapper;
import com.bnyer.img.service.CreatorProfitService;
import com.bnyer.img.service.TiktokImgService;
import com.bnyer.img.vo.CreatorProfitCountVo;
import com.bnyer.img.vo.CreatorProfitInAmtVo;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import com.bnyer.img.vo.ProfitVo;
import com.bnyer.img.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -180,7 +178,22 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
@Override
public List<CreatorProfitInAmtVo> queryFrontInProfitAmt(Long creatorId) {
return creatorProfitMapper.queryFrontInProfitAmt(creatorId);
public CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(ProfitInOrOutDto params) {
return creatorProfitMapper.queryFrontInOrOutProfitAmt(params);
}
@Override
public List<CreatorProfitInAdAmtVo> queryFrontInAdProfitAmt(Long creatorId) {
return creatorProfitMapper.queryFrontInAdProfitAmt(creatorId);
}
@Override
public CreatorProfitInAdAmtVo queryFrontInAdProfitAmtDetails(Long id) {
return creatorProfitMapper.queryFrontInAdProfitAmtDetails(id);
}
@Override
public List<CreatorProfitEndAdAmtVo> queryFrontEndAdProfitAmt(Long creatorId) {
return creatorProfitMapper.queryFrontEndAdProfitAmt(creatorId);
}
}

57
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAdAmtVo.java

@ -0,0 +1,57 @@
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 CreatorProfitEndAdAmtVo 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;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="转入钱包时间")
private Date walletTime;
private static final long serialVersionUID = 1L;
}

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

@ -0,0 +1,74 @@
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;
}

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

@ -1,6 +1,5 @@
package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@ -8,7 +7,6 @@ import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Getter

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

@ -63,11 +63,47 @@
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="queryFrontInProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
<select id="queryFrontInOrOutProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
select
sum(profit) as profit
ifnull(sum(profit),0) as profit
from img_creator_profit
where is_show = '1' and creator_id = #{creatorId} and status = '1' and type = '0'
where is_show = '1' and creator_id = #{params.creatorId} and status = #{params.status} and type = '0'
</select>
<select id="queryFrontInAdProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAdAmtVo">
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,
iti.img_url as url,
icp.type as type,icp.status as status,icp.confirm_type as confirmType,icp.confirm_status as confirmStatus,
icp.download_num as downloadNum,icp.income_time as incomeTime,icp.confirm_time as confirmTime,
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'
</select>
<select id="queryFrontInAdProfitAmtDetails" resultType="com.bnyer.img.vo.CreatorProfitInAdAmtVo">
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,
iti.img_url as url,
icp.type as type,icp.status as status,icp.confirm_type as confirmType,icp.confirm_status as confirmStatus,
icp.download_num as downloadNum,icp.income_time as incomeTime,icp.confirm_time as confirmTime,
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'
</select>
<select id="queryFrontEndAdProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitEndAdAmtVo">
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,
iti.img_url as url,
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'
</select>
</mapper>

Loading…
Cancel
Save