From 045c2ceb09725f64fb59ba51045f03ecfaf6a5ac Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Fri, 10 Jun 2022 18:30:20 +0800 Subject: [PATCH] =?UTF-8?q?feature1.0.0-img:=E6=B7=BB=E5=8A=A0=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=94=B6=E7=9B=8A=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/constants/ProfitOrderConstant.java | 34 +++++ .../bnyer/img/constants/RedisKeyConstant.java | 5 + .../img/controller/CreatorMiniController.java | 4 +- .../java/com/bnyer/img/domain/Creator.java | 11 ++ .../com/bnyer/img/domain/CreatorProfit.java | 3 +- .../bnyer/img/domain/ProfitVerifyOrder.java | 122 ++++++++++++++++++ .../bnyer/img/dto/CreatorProfitUpdateDto.java | 3 +- .../com/bnyer/img/dto/DownloadLogPageDto.java | 19 --- .../bnyer/img/dto/ProfitVerifyOrderDto.java | 43 ++++++ .../img/dto/ProfitVerifyOrderInsertDto.java | 25 ++++ .../img/dto/ProfitVerifyOrderPageDto.java | 25 ++++ .../img/dto/ProfitVerifyOrderUpdateDto.java | 33 +++++ .../img/mapper/ProfitVerifyOrderMapper.java | 13 ++ .../img/service/ProfitVerifyOrderService.java | 54 ++++++++ .../bnyer/img/service/TiktokImgService.java | 7 + .../impl/CreatorProfitServiceImpl.java | 13 +- .../impl/ProfitVerifyOrderServiceImpl.java | 104 +++++++++++++++ .../service/impl/TiktokImgServiceImpl.java | 19 ++- .../bnyer/img/vo/CreatorIncomeProfitVo.java | 3 +- .../img/vo/CreatorTransIntoProfitVo.java | 3 +- .../com/bnyer/img/mapper/CreatorMapper.xml | 3 +- .../bnyer/img/mapper/CreatorProfitMapper.xml | 2 +- .../img/mapper/ProfitVerifyOrderMapper.xml | 25 ++++ 23 files changed, 539 insertions(+), 34 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/ProfitOrderConstant.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ProfitVerifyOrder.java delete mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderInsertDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderUpdateDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ProfitVerifyOrderMapper.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ProfitVerifyOrderService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ProfitVerifyOrderServiceImpl.java create mode 100644 bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ProfitVerifyOrderMapper.xml diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/ProfitOrderConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/ProfitOrderConstant.java new file mode 100644 index 0000000..5d17515 --- /dev/null +++ b/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"; + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java index b247918..8e0d4cd 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java +++ b/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:"; + /** * 抖音小程序用户登录键 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java index f411286..473b74e 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java +++ b/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)); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java index 4051f82..216da34 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java +++ b/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; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java index a0fa0ce..5938bcc 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java +++ b/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) diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ProfitVerifyOrder.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ProfitVerifyOrder.java new file mode 100644 index 0000000..39fab34 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java index 38db78d..310bfcb 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java +++ b/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)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java deleted file mode 100644 index 889899c..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/DownloadLogPageDto.java +++ /dev/null @@ -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; -} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderDto.java new file mode 100644 index 0000000..9d15085 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderInsertDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderInsertDto.java new file mode 100644 index 0000000..92900d0 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderPageDto.java new file mode 100644 index 0000000..8b14797 --- /dev/null +++ b/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; + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderUpdateDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitVerifyOrderUpdateDto.java new file mode 100644 index 0000000..13e7a33 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ProfitVerifyOrderMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ProfitVerifyOrderMapper.java new file mode 100644 index 0000000..5616705 --- /dev/null +++ b/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 { +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ProfitVerifyOrderService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ProfitVerifyOrderService.java new file mode 100644 index 0000000..f835081 --- /dev/null +++ b/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 ids); + + /** + * 查询profitVerifyOrder分页 + * @param dto 分页对象 + * @return - + */ + List queryPage(ProfitVerifyOrderPageDto dto); + + /** + * 查询profitVerifyOrder详情 + * @param id 主键id + * @return - + */ + ProfitVerifyOrder queryDetails(Long id); + + /** + * 审核 + * @param params 审核参数 + * @return - + */ + boolean verify(ProfitVerifyOrderDto params); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java index 421f8f9..0ec93c4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java +++ b/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 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java index 3663ff9..ae3cb40 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java +++ b/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); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ProfitVerifyOrderServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ProfitVerifyOrderServiceImpl.java new file mode 100644 index 0000000..1b1f3b7 --- /dev/null +++ b/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 ids) { + return profitVerifyOrderMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(ProfitVerifyOrderPageDto dto) { + LambdaQueryWrapper 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; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java index 5791231..257ce4a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java +++ b/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 diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java index 1ac63a2..09bb7c7 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java +++ b/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; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java index c12306e..2dca66c 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java +++ b/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; diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml index 64df693..a9b1d0c 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml @@ -19,6 +19,7 @@ + @@ -35,7 +36,7 @@ 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