Browse Source

feature1.0.0-img:添加审核收益方法

master
chengkun 4 years ago
parent
commit
045c2ceb09
  1. 34
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/ProfitOrderConstant.java
  2. 5
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
  3. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
  4. 11
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
  5. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java
  6. 122
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ProfitVerifyOrder.java
  7. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java
  8. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java
  9. 43
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderDto.java
  10. 25
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderInsertDto.java
  11. 25
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderPageDto.java
  12. 33
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderUpdateDto.java
  13. 13
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ProfitVerifyOrderMapper.java
  14. 54
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ProfitVerifyOrderService.java
  15. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java
  16. 13
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  17. 104
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ProfitVerifyOrderServiceImpl.java
  18. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java
  19. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java
  20. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java
  21. 3
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
  22. 2
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml
  23. 25
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ProfitVerifyOrderMapper.xml

34
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/ProfitOrderConstant.java

@ -0,0 +1,34 @@
package com.bnyer.img.constants;
/**
* @author chengkun
* @date 2022/4/21 18:12
*/
public class ProfitOrderConstant {
/**
* 收益通过响应码
*/
public static final String PASS = "1";
/**
* 收益拒绝响应码
*/
public static final String UN_PASS = "2";
/**
* 抖音平台状态码
*/
public static final String TIKTOK = "0";
/**
* 快手平台状态码
*/
public static final String FAST_HAND = "1";
/**
* bnyer壁纸应用状态码
*/
public static final String BNYER_IMG = "0";
}

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

@ -32,6 +32,11 @@ public class RedisKeyConstant {
*/
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:";
/**
* 抖音小程序用户登录键
*/

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

@ -192,7 +192,7 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="新增艺术家即将入账广告收益缓存")
@PostMapping(value = "/insertPreProfit")
@PostMapping(value = "/insertPreAdProfit")
public AjaxResult insertPreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.info("【艺术家小程序】新增艺术家即将入账收益缓存参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertPreAdProfit(dto));
@ -200,7 +200,7 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="新增艺术家即将入账邀请收益缓存")
@PostMapping(value = "/insertPreProfit")
@PostMapping(value = "/insertPreInviteProfit")
public AjaxResult insertPreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.info("【艺术家小程序】新增艺术家即将入账邀请收益缓存参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertPreInviteProfit(dto));

11
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java

@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.Date;
/**
* @author chengkun
* @date 2022/5/30 16:25
@ -114,5 +117,13 @@ public class Creator extends BaseDomain {
@ApiModelProperty(value="是否显示 (0->隐藏;1->显示)")
private String isShow;
/**
* 最后登录时间
*/
@TableField(value = "last_login_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="最后登录时间")
private Date lastLoginTime;
private static final long serialVersionUID = 1L;
}

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java

@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -65,7 +66,7 @@ public class CreatorProfit extends BaseDomain {
*/
@TableField(value = "profit")
@ApiModelProperty(value="结算收益(单位毫分)")
private Integer profit;
private BigDecimal profit;
/**
* 结算平台(0->抖音;1->快手;2->微信;3->uniapp)

122
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ProfitVerifyOrder.java

@ -0,0 +1,122 @@
package com.bnyer.img.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @author chengkun
* @date 2022/6/10 14:42
*/
/**
* 图文平台-收益结算审核单表
*/
@ApiModel(value="com-bnyer-img-domain-ProfitVerifyOrder")
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "img_profit_verify_order")
public class ProfitVerifyOrder implements Serializable {
/**
* 主键id
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="主键id")
private Long id;
/**
* 昨日收益
*/
@TableField(value = "amt")
@ApiModelProperty(value="昨日收益")
private BigDecimal amt;
/**
* 创建订单管理员id
*/
@TableField(value = "admin_id")
@ApiModelProperty(value="创建订单管理员id")
private Long adminId;
/**
* 平台(0->抖音;1->快手)
*/
@TableField(value = "platform")
@ApiModelProperty(value="平台(0->抖音;1->快手)")
private String platform;
/**
* 应用(0->bnyer)
*/
@TableField(value = "app_type")
@ApiModelProperty(value="应用(0->bnyer)")
private String appType;
/**
* 修改管理员id
*/
@TableField(value = "update_admin_id")
@ApiModelProperty(value="修改管理员id")
private Long updateAdminId;
/**
* 审核状态(0->待审核;1->通过;2->拒绝)
*/
@TableField(value = "verify_status")
@ApiModelProperty(value="审核状态(0->待审核;1->通过;2->拒绝)")
private String verifyStatus;
/**
* 审核意见
*/
@TableField(value = "reason")
@ApiModelProperty(value="审核意见")
private String reason;
/**
* 审核管理员id
*/
@TableField(value = "verify_admin_id")
@ApiModelProperty(value="审核管理员id")
private Long verifyAdminId;
/**
* 创建时间
*/
@TableField(value = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
* 创建时间
*/
@TableField(value = "update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="更新时间")
private Date updateTime;
/**
* 审批时间
*/
@TableField(value = "verify_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="审批时间")
private Date verifyTime;
private static final long serialVersionUID = 1L;
}

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java

@ -10,6 +10,7 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
@Getter
@ -37,7 +38,7 @@ public class CreatorProfitUpdateDto implements Serializable {
@NotNull(message = "结算收益不能为空!")
@ApiModelProperty(value="结算收益(单位毫分)")
private Integer profit;
private BigDecimal profit;
@NotBlank(message = "结算平台不能为空!")
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")

19
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java

@ -1,19 +0,0 @@
package com.bnyer.img.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@ApiModel("下载记录分页接收类")
public class DownloadLogPageDto extends BasePageDto {
@ApiModelProperty(value="渠道(0->抖音;1->快手;2->微信)")
private String channel;
@ApiModelProperty(value="搜索码")
private String scanCode;
}

43
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderDto.java

@ -0,0 +1,43 @@
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;
import java.math.BigDecimal;
@Getter
@Setter
@ApiModel("收益审核订单审核接收类")
public class ProfitVerifyOrderDto implements Serializable {
@NotNull(message = "主键id")
@ApiModelProperty(value="主键id")
private Long id;
@NotBlank(message = "审核状态不能为空!")
@ApiModelProperty(value="审核状态(0->待审核;1->通过;2->拒绝)")
private String verifyStatus;
@ApiModelProperty(value="审核意见")
private String reason;
@NotNull(message = "审核管理员id不能为空!")
@ApiModelProperty(value="审核管理员id")
private Long verifyAdminId;
@NotNull(message = "昨日收益不能为空!")
@ApiModelProperty(value="昨日收益")
private BigDecimal amt;
@ApiModelProperty(value="平台(0->抖音;1->快手)")
private String platform;
@ApiModelProperty(value="应用(0->bnyer)")
private String appType;
}

25
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderInsertDto.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 java.io.Serializable;
import java.math.BigDecimal;
@Getter
@Setter
@ApiModel("收益审核订单新增接收类")
public class ProfitVerifyOrderInsertDto implements Serializable {
@ApiModelProperty(value="昨日收益")
private BigDecimal amt;
@ApiModelProperty(value="创建订单管理员id")
private Long adminId;
@ApiModelProperty(value="平台(0->抖音;1->快手)")
private String platform;
}

25
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderPageDto.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;
@Getter
@Setter
@ApiModel("收益审核单分页接收类")
public class ProfitVerifyOrderPageDto extends BasePageDto {
@ApiModelProperty(value="审核状态(0->待审核;1->通过;2->拒绝)")
private String verifyStatus;
@ApiModelProperty(value="平台(0->抖音;1->快手)")
private String platform;
@ApiModelProperty(value="开始时间")
private String startTime;
@ApiModelProperty(value="结束时间")
private String endTime;
}

33
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderUpdateDto.java

@ -0,0 +1,33 @@
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;
import java.math.BigDecimal;
@Getter
@Setter
@ApiModel("收益审核订单更新接收类")
public class ProfitVerifyOrderUpdateDto implements Serializable {
@NotNull(message = "主键id不能为空!")
@ApiModelProperty(value="主键id")
private Long id;
@NotNull(message = "昨日收益不能为空!")
@ApiModelProperty(value="昨日收益")
private BigDecimal amt;
@NotNull(message = "修改管理员id不能为空!")
@ApiModelProperty(value="修改管理员id")
private Long updateAdminId;
@ApiModelProperty(value="平台(0->抖音;1->快手)")
private String platform;
}

13
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ProfitVerifyOrderMapper.java

@ -0,0 +1,13 @@
package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.ProfitVerifyOrder;
import org.apache.ibatis.annotations.Mapper;
/**
* @author chengkun
* @date 2022/6/10 14:42
*/
@Mapper
public interface ProfitVerifyOrderMapper extends BaseMapper<ProfitVerifyOrder> {
}

54
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ProfitVerifyOrderService.java

@ -0,0 +1,54 @@
package com.bnyer.img.service;
import com.bnyer.img.domain.ProfitVerifyOrder;
import com.bnyer.img.dto.ProfitVerifyOrderDto;
import com.bnyer.img.dto.ProfitVerifyOrderInsertDto;
import com.bnyer.img.dto.ProfitVerifyOrderPageDto;
import com.bnyer.img.dto.ProfitVerifyOrderUpdateDto;
import java.util.List;
public interface ProfitVerifyOrderService {
/**
* 新增profitVerifyOrder
* @param params -
* @return -
*/
int insert(ProfitVerifyOrderInsertDto params);
/**
* 修改profitVerifyOrder
* @param params -
* @return -
*/
int update(ProfitVerifyOrderUpdateDto params);
/**
* 批量删除profitVerifyOrder
* @param ids ids
* @return -
*/
int delete(List<Long> ids);
/**
* 查询profitVerifyOrder分页
* @param dto 分页对象
* @return -
*/
List<ProfitVerifyOrder> queryPage(ProfitVerifyOrderPageDto dto);
/**
* 查询profitVerifyOrder详情
* @param id 主键id
* @return -
*/
ProfitVerifyOrder queryDetails(Long id);
/**
* 审核
* @param params 审核参数
* @return -
*/
boolean verify(ProfitVerifyOrderDto params);
}

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

@ -99,6 +99,13 @@ public interface TiktokImgService {
*/
void writeDownloadNum(Long creatorId,String appType,Long imgId,String platform);
/**
* 图片下载总数量写入缓存
* @param appType 应用
* @param platform 平台
*/
void writeDownloadTotalNum(String appType,String platform);
/**
* 同步图片下载数量到db
*/

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

@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -40,18 +41,22 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
@Override
public boolean insertPreAdProfit(CreatorProfitAdInsertDto params) {
String redisKey = RedisKeyConstant.WECHAT_CREATOR_DOWNLOAD_KEY + params.getCreatorId();
String hashKey = params.getAppType()+":"+params.getImgId()+":"+params.getPlatform();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());
String redisKey = RedisKeyConstant.WECHAT_CREATOR_DOWNLOAD_KEY + date;
String hashKey = params.getCreatorId()+":"+params.getImgId()+":"+params.getAppType()+":"+params.getPlatform();
try{
if(!redisService.hasHashKey(redisKey,hashKey)){
//写入入账缓存
params.setCreateTime(new Date());
redisService.setCacheMapValue(redisKey,hashKey, JSON.toJSON(params));
log.info("艺术家id【{}】平台【{}】的图片【{}】被下载了,写入即将入账广告缓存成功!",
params.getCreatorId(),params.getPlatform(),params.getImgId());
log.info("艺术家id【{}】图片【{}】应用【{}】平台【{}】被下载了,写入即将入账广告缓存成功!",
params.getCreatorId(),params.getImgId(),params.getAppType(),params.getPlatform());
}
//写入图片下载量缓存
tiktokImgService.writeDownloadNum(params.getCreatorId(),params.getAppType(),params.getImgId(),params.getPlatform());
//写入应用平台下载数量缓存
tiktokImgService.writeDownloadTotalNum(params.getAppType(),params.getPlatform());
return true;
}catch (Exception e){
log.error("写入即将入账广告缓存失败!失败原因为:",e);

104
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ProfitVerifyOrderServiceImpl.java

@ -0,0 +1,104 @@
package com.bnyer.img.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.img.constants.ProfitOrderConstant;
import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.domain.ProfitVerifyOrder;
import com.bnyer.img.dto.ProfitVerifyOrderDto;
import com.bnyer.img.dto.ProfitVerifyOrderInsertDto;
import com.bnyer.img.dto.ProfitVerifyOrderPageDto;
import com.bnyer.img.dto.ProfitVerifyOrderUpdateDto;
import com.bnyer.img.mapper.ProfitVerifyOrderMapper;
import com.bnyer.img.service.ProfitVerifyOrderService;
import lombok.extern.slf4j.Slf4j;
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.Date;
import java.util.List;
@Service
@Slf4j
public class ProfitVerifyOrderServiceImpl implements ProfitVerifyOrderService {
@Autowired
private ProfitVerifyOrderMapper profitVerifyOrderMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public int insert(ProfitVerifyOrderInsertDto params) {
ProfitVerifyOrder order = new ProfitVerifyOrder();
order.setAmt(params.getAmt());
order.setAdminId(params.getAdminId());
order.setPlatform(params.getPlatform());
order.setCreateTime(new Date());
order.setVerifyStatus("0");
return profitVerifyOrderMapper.insert(order);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int update(ProfitVerifyOrderUpdateDto params) {
ProfitVerifyOrder order = new ProfitVerifyOrder();
order.setId(params.getId());
order.setUpdateAdminId(params.getUpdateAdminId());
order.setAmt(params.getAmt());
order.setPlatform(params.getPlatform());
order.setUpdateTime(new Date());
return profitVerifyOrderMapper.updateById(order);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int delete(List<Long> ids) {
return profitVerifyOrderMapper.deleteBatchIds(ids);
}
@Override
public List<ProfitVerifyOrder> queryPage(ProfitVerifyOrderPageDto dto) {
LambdaQueryWrapper<ProfitVerifyOrder> wrapper = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(dto.getVerifyStatus())){
wrapper.eq(ProfitVerifyOrder::getVerifyStatus, dto.getVerifyStatus());
}
if(StringUtils.isNotBlank(dto.getPlatform())){
wrapper.eq(ProfitVerifyOrder::getPlatform, dto.getPlatform());
}
if(StringUtils.isNotBlank(dto.getStartTime()) && StringUtils.isNotBlank(dto.getEndTime())){
wrapper.between(ProfitVerifyOrder::getCreateTime, dto.getStartTime(), dto.getEndTime());
}
wrapper.orderByDesc(ProfitVerifyOrder::getCreateTime);
return profitVerifyOrderMapper.selectList(wrapper);
}
@Override
public ProfitVerifyOrder queryDetails(Long id) {
return profitVerifyOrderMapper.selectById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean verify(ProfitVerifyOrderDto params) {
if(params.getVerifyStatus().equals(ProfitOrderConstant.PASS)){
//审核通过计算收益
//昨日总收益的80%
BigDecimal yesterdayTotalProfit = params.getAmt().multiply(BigDecimal.valueOf(0.8));
if(params.getPlatform().equals(ProfitOrderConstant.TIKTOK) && params.getAppType().equals(ProfitOrderConstant.BNYER_IMG)){
//昨日抖音平台总下载量
//获取昨日日期
Date today = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String date = simpleDateFormat.format(today);
String tiktokKey = RedisKeyConstant.TIKTOK_IMG_TOTAL_DOWNLOAD_NUM_KEY + date;
}else if(params.getPlatform().equals(ProfitOrderConstant.FAST_HAND) && params.getAppType().equals(ProfitOrderConstant.BNYER_IMG)){
//昨日快手平台总下载量
}
}else{
//审核不通过,流程结束
}
return false;
}
}

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

@ -21,6 +21,7 @@ import org.springframework.data.redis.core.Cursor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -147,10 +148,22 @@ public class TiktokImgServiceImpl implements TiktokImgService {
@Override
public void writeDownloadNum(Long creatorId,String appType,Long imgId,String platform) {
String redisKey = RedisKeyConstant.TIKTOK_IMG_DOWNLOAD_NUM_KEY + creatorId;
String hashKey = appType+":"+imgId+":"+platform;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());
String redisKey = RedisKeyConstant.TIKTOK_IMG_DOWNLOAD_NUM_KEY + date;
String hashKey = creatorId+":"+imgId+":"+appType+":"+platform;
redisService.hashIncr(redisKey,hashKey, 1);
log.info("应用【{}】的图片id【{}】平台【{}】下载量+1",appType,imgId,platform);
log.info("日期【{}】艺术家【{}】的图片id【{}】应用【{}】平台【{}】下载量+1",date,creatorId,imgId,appType,platform);
}
@Override
public void writeDownloadTotalNum(String appType, String platform) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());
String redisKey = RedisKeyConstant.TIKTOK_IMG_TOTAL_DOWNLOAD_NUM_KEY + date;
String hashKey = appType+":"+platform;
redisService.hashIncr(redisKey,hashKey, 1);
log.info("日期【{}】应用【{}】平台【{}】下载总量+1",date,appType,platform);
}
// @Override

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java

@ -7,6 +7,7 @@ import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -30,7 +31,7 @@ public class CreatorIncomeProfitVo implements Serializable {
private Long imgId;
@ApiModelProperty(value="结算收益(单位毫分)")
private Integer profit;
private BigDecimal profit;
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java

@ -7,6 +7,7 @@ import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -30,7 +31,7 @@ public class CreatorTransIntoProfitVo implements Serializable {
private Long imgId;
@ApiModelProperty(value="结算收益(单位毫分)")
private Integer profit;
private BigDecimal profit;
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;

3
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml

@ -19,6 +19,7 @@
<result column="is_show" jdbcType="CHAR" property="isShow" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="last_login_time" jdbcType="TIMESTAMP" property="lastLoginTime" />
<result column="sort" jdbcType="INTEGER" property="sort" />
</resultMap>
@ -35,7 +36,7 @@
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, `name`,open_id, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time,
update_time, sort, amt
update_time, sort, amt, last_login_time
</sql>
<select id="queryThreeImgCreatorList" resultMap="CreatorThreeList">

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

@ -9,7 +9,7 @@
<result column="creator_id" jdbcType="BIGINT" property="creatorId" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="img_id" jdbcType="BIGINT" property="imgId" />
<result column="profit" jdbcType="INTEGER" property="profit" />
<result column="profit" jdbcType="DECIMAL" property="profit" />
<result column="platform" jdbcType="CHAR" property="platform" />
<result column="app_type" jdbcType="CHAR" property="appType" />
<result column="type" jdbcType="CHAR" property="type" />

25
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ProfitVerifyOrderMapper.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bnyer.img.mapper.ProfitVerifyOrderMapper">
<resultMap id="BaseResultMap" type="com.bnyer.img.domain.ProfitVerifyOrder">
<!--@mbg.generated-->
<!--@Table img_profit_verify_order-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="amt" jdbcType="DECIMAL" property="amt" />
<result column="admin_id" jdbcType="BIGINT" property="adminId" />
<result column="update_admin_id" jdbcType="BIGINT" property="updateAdminId" />
<result column="verify_status" jdbcType="CHAR" property="verifyStatus" />
<result column="platform" jdbcType="CHAR" property="platform" />
<result column="app_type" jdbcType="CHAR" property="appType" />
<result column="reason" jdbcType="VARCHAR" property="reason" />
<result column="verify_admin_id" jdbcType="BIGINT" property="verifyAdminId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="verify_time" jdbcType="TIMESTAMP" property="verifyTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, amt, admin_id, verify_status, reason, verify_admin_id, create_time, verify_time,
update_admin_id,updateTime,platform,app_type
</sql>
</mapper>
Loading…
Cancel
Save