Browse Source

feature1.0.0-img:完成新增广告收益、新增邀请收益方法

master
chengkun 4 years ago
parent
commit
93be4a47d6
  1. 11
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  2. 33
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BatchUpdateInviteDto.java
  3. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
  4. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FeedBackDto.java
  5. 5
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
  6. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
  7. 58
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  8. 15
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml

11
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java

@ -188,8 +188,17 @@ public class TiktokMiniController extends BaseController {
//@TokenCheck //@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益") @ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit") @PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账对象") CreatorProfitAdInsertDto dto){ public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.info("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); log.info("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam())); return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
} }
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
log.info("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();
}
} }

33
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BatchUpdateInviteDto.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 java.io.Serializable;
@Getter
@Setter
@ApiModel("批量更新邀请者收益接收类")
public class BatchUpdateInviteDto implements Serializable {
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="图片id")
private Long imgId;
@ApiModelProperty(value="应用类型(0->bnyer壁纸)")
private String appType;
@ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
private String platform;
@ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)")
private String type;
@ApiModelProperty(value="创建时间")
private String date;
}

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java

@ -14,7 +14,7 @@ import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@ApiModel("艺术家新增/更新广告收益接收类") @ApiModel("艺术家新增更新广告收益接收类")
public class CreatorProfitAdInsertDto implements Serializable { public class CreatorProfitAdInsertDto implements Serializable {
@NotNull(message = "艺术家id不能为空!") @NotNull(message = "艺术家id不能为空!")

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

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
@ -19,7 +20,7 @@ public class FeedBackDto implements Serializable {
@ApiModelProperty(value="主键Id") @ApiModelProperty(value="主键Id")
private Long id; private Long id;
@NotNull(message = "反馈信息不能为空!") @NotBlank(message = "反馈信息不能为空!")
@ApiModelProperty(value="反馈信息") @ApiModelProperty(value="反馈信息")
private String info; private String info;

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

@ -2,6 +2,7 @@ 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.dto.BatchUpdateInviteDto;
import com.bnyer.img.dto.ProfitInOrEndDto; import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*; import com.bnyer.img.vo.*;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -109,11 +110,11 @@ public interface CreatorProfitMapper extends BaseMapper<CreatorProfit> {
* 批量更新邀请记录下载次数 * 批量更新邀请记录下载次数
* @param list - * @param list -
*/ */
void batchUpdateDownload(List<CreatorProfit> list); void batchUpdateDownload(@Param("list") List<BatchUpdateInviteDto> list);
/** /**
* 批量新增邀请收益 * 批量新增邀请收益
* @param list - * @param list -
*/ */
void batchInsertInviteProfit(List<CreatorProfit> list); void batchInsertInviteProfit(@Param("list") List<CreatorProfit> list);
} }

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

@ -36,9 +36,8 @@ public interface CreatorProfitService {
/** /**
* 新增或更新邀请收益 * 新增或更新邀请收益
* @param creatorProfit 邀请收益参数 * @param creatorProfit 邀请收益参数
* @return -
*/ */
int insertInvitedProfit(CreatorProfit creatorProfit); void insertInvitedProfit(CreatorProfit creatorProfit);
/** /**
* 更新指定日期图片下载数量 * 更新指定日期图片下载数量

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

@ -6,6 +6,7 @@ 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.domain.InviteLog; import com.bnyer.img.domain.InviteLog;
import com.bnyer.img.dto.BatchUpdateInviteDto;
import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto; import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.mapper.CreatorProfitMapper; import com.bnyer.img.mapper.CreatorProfitMapper;
@ -45,9 +46,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
public boolean checkCreatorProfitExist(Long creatorId, Long imgId,String appType,String platform,String type, String date) { public boolean checkCreatorProfitExist(Long creatorId, Long imgId,String appType,String platform,String type, String date) {
CreatorProfit creatorProfit = creatorProfitMapper.checkCreatorProfitExist(creatorId, imgId, appType, platform,type, date); CreatorProfit creatorProfit = creatorProfitMapper.checkCreatorProfitExist(creatorId, imgId, appType, platform,type, date);
if(creatorProfit != null){ if(creatorProfit != null){
return false;
}else{
return true; return true;
}else{
return false;
} }
} }
@ -77,17 +78,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
return insert; return insert;
} }
private void batchUpdateDownload(List<CreatorProfit> list){
creatorProfitMapper.batchUpdateDownload(list);
}
private void batchInsertInviteProfit(List<CreatorProfit> list){
creatorProfitMapper.batchInsertInviteProfit(list);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int insertInvitedProfit(CreatorProfit creatorProfit) { public void insertInvitedProfit(CreatorProfit creatorProfit) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis(); long times = System.currentTimeMillis();
String date = format.format(times); String date = format.format(times);
@ -96,31 +89,42 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
wrapper.eq(InviteLog::getInvitedCreatorId, creatorProfit.getCreatorId()); wrapper.eq(InviteLog::getInvitedCreatorId, creatorProfit.getCreatorId());
List<InviteLog> inviteLogs = inviteLogMapper.selectList(wrapper); List<InviteLog> inviteLogs = inviteLogMapper.selectList(wrapper);
if(inviteLogs.size() > 0){ if(inviteLogs.size() > 0){
List<Long> updateList = new ArrayList<>(); List<BatchUpdateInviteDto> updateList = new ArrayList<>();
List<Long> insertList = new ArrayList<>(); List<CreatorProfit> insertList = new ArrayList<>();
for (InviteLog inviteLog : inviteLogs) { for (InviteLog inviteLog : inviteLogs) {
//检查收益表是否存在邀请记录,存在则记录更新邀请者Id //检查收益表是否存在邀请记录,存在则记录更新邀请者Id
boolean b = this.checkCreatorProfitExist(inviteLog.getCreatorId(),creatorProfit.getImgId(),creatorProfit.getAppType(),creatorProfit.getPlatform(),"1",date); boolean b = this.checkCreatorProfitExist(inviteLog.getCreatorId(),creatorProfit.getImgId(),creatorProfit.getAppType(),creatorProfit.getPlatform(),"1",date);
if(b){ if(b){
updateList.add(inviteLog.getCreatorId()); BatchUpdateInviteDto dto = new BatchUpdateInviteDto();
} dto.setCreatorId(inviteLog.getCreatorId());
dto.setAppType(creatorProfit.getAppType());
dto.setImgId(creatorProfit.getImgId());
dto.setPlatform(creatorProfit.getPlatform());
dto.setDate(date);
dto.setType("1");
updateList.add(dto);
}else{
//不存在则新增邀请者id //不存在则新增邀请者id
insertList.add(inviteLog.getCreatorId()); creatorProfit.setCreatorId(inviteLog.getCreatorId());
// creatorProfit.setCreatorId(inviteLog.getCreatorId()); creatorProfit.setCreateTime(new Date());
// creatorProfit.setCreateTime(new Date()); creatorProfit.setUpdateTime(new Date());
// creatorProfit.setUpdateTime(new Date()); creatorProfit.setType("1");
// creatorProfit.setType("1"); creatorProfit.setStatus("0");
// creatorProfit.setStatus("0"); creatorProfit.setIsShow("1");
// creatorProfit.setIsShow("1"); creatorProfit.setSort(0);
// creatorProfit.setSort(0); creatorProfit.setDownloadNum(1);
// creatorProfit.setDownloadNum(1); insertList.add(creatorProfit);
} }
}
if(updateList.size() > 0){
//批量更新邀请记录 //批量更新邀请记录
creatorProfitMapper.batchUpdateDownload(updateList);
}
if(insertList.size() > 0){
//批量新增邀请记录 //批量新增邀请记录
creatorProfitMapper.batchInsertInviteProfit(insertList);
}
} }
return 0;
} }
@Override @Override

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

@ -135,12 +135,21 @@
<foreach collection="list" item="item" index="index" open="" close="" separator=";"> <foreach collection="list" item="item" index="index" open="" close="" separator=";">
update img_creator_profit update img_creator_profit
<set> <set>
download_num = download_num + 1, update_time = (select NOW())
</set> </set>
where creator_id = #{item.creatorId} and img_id = #{item.imgId} and app_type = #{item.appType}
and platform = #{item.platform} and DATE_FORMAT(create_time,'%Y-%m-%d') = #{item.date} and type = #{item.type}
and status = '0'
</foreach> </foreach>
</update> </update>
<insert id="batchInsertInviteProfit"> <insert id="batchInsertInviteProfit" useGeneratedKeys="true" keyProperty="id">
insert into img_creator_profit(creator_id,type,status,is_show,sort,download_num,
create_time,update_time,scan_code,img_id,platform,app_type) values
<foreach item="item" collection="list" separator=",">
(#{item.creatorId}, #{item.type}, #{item.status}, #{item.isShow},#{item.sort},
#{item.downloadNum},#{item.createTime},#{item.updateTime},#{item.scanCode},#{item.imgId},
#{item.platform},#{item.appType})
</foreach>
</insert> </insert>
</mapper> </mapper>

Loading…
Cancel
Save