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 //@TokenCheck
@ApiOperation(value="查询指定艺术家已入账广告收益累计") @ApiOperation(value="查询指定艺术家已入账/转入钱包广告收益累计")
@GetMapping(value = "/queryFrontInCreatorProfitAmt/{creatorId}") @PostMapping(value = "/queryFrontInOrOutAmt")
public AjaxResult queryFrontInCreatorProfitAmt(@PathVariable @ApiParam("艺术家id") Long creatorId){ public AjaxResult queryFrontInOrOutAmt(@Validated @RequestBody @ApiParam("参数对象") ProfitInOrOutDto params){
log.info("【艺术家小程序】查询指定艺术家id【{}】已入账广告收益累计",creatorId); return AjaxResult.success(creatorProfitService.queryFrontInOrOutProfitAmt(params));
return AjaxResult.success(creatorProfitService.queryFrontInProfitAmt(creatorId)); }
//@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 // //@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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.CreatorProfit; import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.vo.CreatorProfitCountVo; import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.vo.CreatorProfitInAmtVo; import com.bnyer.img.vo.*;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; 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 * @param creatorId 艺术家id
* @return - * @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.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.vo.CreatorProfitCountVo; import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.vo.CreatorProfitInAmtVo; import com.bnyer.img.vo.*;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import com.bnyer.img.vo.ProfitVo;
import java.util.List; 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 * @param creatorId 艺术家id
* @return - * @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.common.redis.service.RedisService;
import com.bnyer.img.domain.CreatorProfit; import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrOutDto;
import com.bnyer.img.mapper.CreatorProfitMapper; import com.bnyer.img.mapper.CreatorProfitMapper;
import com.bnyer.img.service.CreatorProfitService; import com.bnyer.img.service.CreatorProfitService;
import com.bnyer.img.service.TiktokImgService; import com.bnyer.img.service.TiktokImgService;
import com.bnyer.img.vo.CreatorProfitCountVo; import com.bnyer.img.vo.*;
import com.bnyer.img.vo.CreatorProfitInAmtVo;
import com.bnyer.img.vo.CreatorProfitPreAdVo;
import com.bnyer.img.vo.ProfitVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -180,7 +178,22 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
} }
@Override @Override
public List<CreatorProfitInAmtVo> queryFrontInProfitAmt(Long creatorId) { public CreatorProfitInAmtVo queryFrontInOrOutProfitAmt(ProfitInOrOutDto params) {
return creatorProfitMapper.queryFrontInProfitAmt(creatorId); 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; package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
@ -8,7 +7,6 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
@Getter @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 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' where icp.is_show = '1' and icp.creator_id = #{creatorId} and icp.status = '0' and icp.type = '0'
</select> </select>
<select id="queryFrontInProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo"> <select id="queryFrontInOrOutProfitAmt" resultType="com.bnyer.img.vo.CreatorProfitInAmtVo">
select select
sum(profit) as profit ifnull(sum(profit),0) as profit
from img_creator_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>
<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> </mapper>

Loading…
Cancel
Save