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
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账对象") CreatorProfitAdInsertDto dto){
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.info("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
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
@Setter
@ApiModel("艺术家新增/更新广告收益接收类")
@ApiModel("艺术家新增更新广告收益接收类")
public class CreatorProfitAdInsertDto implements Serializable {
@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.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@ -19,7 +20,7 @@ public class FeedBackDto implements Serializable {
@ApiModelProperty(value="主键Id")
private Long id;
@NotNull(message = "反馈信息不能为空!")
@NotBlank(message = "反馈信息不能为空!")
@ApiModelProperty(value="反馈信息")
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.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.dto.BatchUpdateInviteDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*;
import org.apache.ibatis.annotations.Mapper;
@ -109,11 +110,11 @@ public interface CreatorProfitMapper extends BaseMapper<CreatorProfit> {
* 批量更新邀请记录下载次数
* @param list -
*/
void batchUpdateDownload(List<CreatorProfit> list);
void batchUpdateDownload(@Param("list") List<BatchUpdateInviteDto> 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 邀请收益参数
* @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.img.domain.CreatorProfit;
import com.bnyer.img.domain.InviteLog;
import com.bnyer.img.dto.BatchUpdateInviteDto;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
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) {
CreatorProfit creatorProfit = creatorProfitMapper.checkCreatorProfitExist(creatorId, imgId, appType, platform,type, date);
if(creatorProfit != null){
return false;
}else{
return true;
}else{
return false;
}
}
@ -77,17 +78,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
return insert;
}
private void batchUpdateDownload(List<CreatorProfit> list){
creatorProfitMapper.batchUpdateDownload(list);
}
private void batchInsertInviteProfit(List<CreatorProfit> list){
creatorProfitMapper.batchInsertInviteProfit(list);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int insertInvitedProfit(CreatorProfit creatorProfit) {
public void insertInvitedProfit(CreatorProfit creatorProfit) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis();
String date = format.format(times);
@ -96,31 +89,42 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
wrapper.eq(InviteLog::getInvitedCreatorId, creatorProfit.getCreatorId());
List<InviteLog> inviteLogs = inviteLogMapper.selectList(wrapper);
if(inviteLogs.size() > 0){
List<Long> updateList = new ArrayList<>();
List<Long> insertList = new ArrayList<>();
List<BatchUpdateInviteDto> updateList = new ArrayList<>();
List<CreatorProfit> insertList = new ArrayList<>();
for (InviteLog inviteLog : inviteLogs) {
//检查收益表是否存在邀请记录,存在则记录更新邀请者Id
boolean b = this.checkCreatorProfitExist(inviteLog.getCreatorId(),creatorProfit.getImgId(),creatorProfit.getAppType(),creatorProfit.getPlatform(),"1",date);
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
insertList.add(inviteLog.getCreatorId());
// creatorProfit.setCreatorId(inviteLog.getCreatorId());
// creatorProfit.setCreateTime(new Date());
// creatorProfit.setUpdateTime(new Date());
// creatorProfit.setType("1");
// creatorProfit.setStatus("0");
// creatorProfit.setIsShow("1");
// creatorProfit.setSort(0);
// creatorProfit.setDownloadNum(1);
creatorProfit.setCreatorId(inviteLog.getCreatorId());
creatorProfit.setCreateTime(new Date());
creatorProfit.setUpdateTime(new Date());
creatorProfit.setType("1");
creatorProfit.setStatus("0");
creatorProfit.setIsShow("1");
creatorProfit.setSort(0);
creatorProfit.setDownloadNum(1);
insertList.add(creatorProfit);
}
}
if(updateList.size() > 0){
//批量更新邀请记录
creatorProfitMapper.batchUpdateDownload(updateList);
}
if(insertList.size() > 0){
//批量新增邀请记录
creatorProfitMapper.batchInsertInviteProfit(insertList);
}
}
return 0;
}
@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=";">
update img_creator_profit
<set>
download_num = download_num + 1, update_time = (select NOW())
</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>
</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>
</mapper>

Loading…
Cancel
Save