23 changed files with 539 additions and 34 deletions
@ -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"; |
||||
|
|
||||
|
} |
||||
@ -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; |
||||
|
} |
||||
@ -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; |
|
||||
} |
|
||||
@ -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; |
||||
|
} |
||||
@ -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; |
||||
|
} |
||||
@ -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; |
||||
|
|
||||
|
} |
||||
@ -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; |
||||
|
} |
||||
@ -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> { |
||||
|
} |
||||
@ -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); |
||||
|
} |
||||
@ -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; |
||||
|
} |
||||
|
} |
||||
@ -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…
Reference in new issue