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 8e0d4cd..911f747 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 @@ -47,11 +47,6 @@ public class RedisKeyConstant { */ public static final String WECHAT_CREATOR_LOGIN_KEY = "bnyer.img.wechat.creator:"; - /** - * 微信小程序艺术家图片下载键 - */ - public static final String WECHAT_CREATOR_DOWNLOAD_KEY = "bnyer.img.download.creator:"; - /** * 微信小程序艺术家邀请键 */ 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 83130ab..81b933d 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 @@ -193,12 +193,12 @@ public class CreatorMiniController extends BaseController { //@TokenCheck - @ApiOperation(value="新增艺术家即将入账邀请收益缓存") - @PostMapping(value = "/insertPreInviteProfit") - public AjaxResult insertPreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){ - log.info("【艺术家小程序】新增艺术家即将入账邀请收益缓存参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.insertPreInviteProfit(dto)); - } +// @ApiOperation(value="新增艺术家即将入账邀请收益缓存") +// @PostMapping(value = "/insertPreInviteProfit") +// public AjaxResult insertPreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){ +// log.info("【艺术家小程序】新增艺术家即将入账邀请收益缓存参数为:{}", JSON.toJSONString(dto)); +// return AjaxResult.success(creatorProfitService.insertPreInviteProfit(dto)); +// } //@TokenCheck @ApiOperation(value="艺术家手动确认收益") @@ -208,20 +208,20 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(creatorProfitService.handleUpdateConfirmType(dto.getId(), dto.getCreatorId())); } - //@TokenCheck - @ApiOperation(value="查询指定艺术家当天即将入账广告收益列表") - @GetMapping(value = "/getPreAdProfitList/{creatorId}") - public AjaxResult getPreAdProfitList(@PathVariable @ApiParam("艺术家id") Long creatorId){ - log.info("【艺术家小程序】查询指定艺术家id【{}】当天即将入账广告收益列表",creatorId); - return AjaxResult.success(creatorProfitService.queryFrontPreAdProfitList(creatorId)); - } - - //@TokenCheck - @ApiOperation(value="查询指定艺术家当天即将入账邀请收益列表") - @GetMapping(value = "/getPreInviteProfitList/{creatorId}") - public AjaxResult getPreInviteProfitList(@PathVariable @ApiParam("艺术家id") Long creatorId){ - log.info("【艺术家小程序】查询指定艺术家id【{}】当天即将入账邀请收益列表",creatorId); - return AjaxResult.success(creatorProfitService.queryFrontPreInviteProfitList(creatorId)); - } +// //@TokenCheck +// @ApiOperation(value="查询指定艺术家当天即将入账广告收益列表") +// @GetMapping(value = "/getPreAdProfitList/{creatorId}") +// public AjaxResult getPreAdProfitList(@PathVariable @ApiParam("艺术家id") Long creatorId){ +// log.info("【艺术家小程序】查询指定艺术家id【{}】当天即将入账广告收益列表",creatorId); +// return AjaxResult.success(creatorProfitService.queryFrontPreAdProfitList(creatorId)); +// } +// +// //@TokenCheck +// @ApiOperation(value="查询指定艺术家当天即将入账邀请收益列表") +// @GetMapping(value = "/getPreInviteProfitList/{creatorId}") +// public AjaxResult getPreInviteProfitList(@PathVariable @ApiParam("艺术家id") Long creatorId){ +// log.info("【艺术家小程序】查询指定艺术家id【{}】当天即将入账邀请收益列表",creatorId); +// return AjaxResult.success(creatorProfitService.queryFrontPreInviteProfitList(creatorId)); +// } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/ProfitVerifyOrderController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/ProfitVerifyOrderController.java new file mode 100644 index 0000000..8e173ad --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/ProfitVerifyOrderController.java @@ -0,0 +1,81 @@ +package com.bnyer.img.controller; + +import com.alibaba.fastjson.JSON; +import com.bnyer.common.core.web.controller.BaseController; +import com.bnyer.common.core.web.domain.AjaxResult; +import com.bnyer.common.core.web.page.TableDataInfo; +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.service.ProfitVerifyOrderService; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(value = "【图文平台】收益审核单接口",tags = "【图文平台】收益审核单接口") +@RestController +@RequestMapping("/img/profitVerifyOrder") +@Slf4j +public class ProfitVerifyOrderController extends BaseController { + + @Autowired + private ProfitVerifyOrderService profitVerifyOrderService; + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询收益审核单分页") + @PostMapping("/page") + public TableDataInfo pageProfitVerifyOrder(@RequestBody @ApiParam("分页对象") ProfitVerifyOrderPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List profitVerifyOrders = profitVerifyOrderService.queryPage(dto); + return getDataTable(profitVerifyOrders); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="新增收益审核单") + @PostMapping(value = "/insert") + public AjaxResult insertProfitVerifyOrder(@Validated @RequestBody @ApiParam("收益审核单对象") ProfitVerifyOrderInsertDto dto){ + log.debug("【图文平台后台】新增收益审核单参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(profitVerifyOrderService.insert(dto)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="修改收益审核单") + @PostMapping(value = "/update") + public AjaxResult updateProfitVerifyOrder(@Validated @RequestBody @ApiParam("收益审核单对象") ProfitVerifyOrderUpdateDto dto){ + log.debug("【图文平台后台】修改收益审核单参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(profitVerifyOrderService.update(dto)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="删除收益审核单") + @DeleteMapping(value = "/delete/{ids}") + public AjaxResult deleteProfitVerifyOrder(@PathVariable @ApiParam("主键ids") List ids){ + log.debug("【图文平台后台】删除收益审核单参数为:{}", JSON.toJSONString(ids)); + return AjaxResult.success(profitVerifyOrderService.delete(ids)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询收益审核单详情") + @GetMapping(value = "/details/{id}") + public AjaxResult detailsProfitVerifyOrder(@PathVariable @ApiParam("主键id") Long id){ + log.debug("【图文平台后台】查询收益审核单详情参数为:{}", id); + return AjaxResult.success(profitVerifyOrderService.queryDetails(id)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="审核") + @PostMapping(value = "/verify") + public AjaxResult verify(@Validated @RequestBody @ApiParam("收益审核单对象") ProfitVerifyOrderDto dto){ + log.debug("【图文平台后台】审核参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(profitVerifyOrderService.verify(dto)); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java index 652d674..b1ca5fe 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java @@ -186,10 +186,10 @@ public class TiktokMiniController extends BaseController { } //@TokenCheck - @ApiOperation(value="新增艺术家即将入账广告收益缓存") - @PostMapping(value = "/insertPreAdProfit") - public AjaxResult insertPreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ - log.info("【抖音图文小程序】新增艺术家即将入账收益缓存参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.insertPreAdProfit(dto)); - } +// @ApiOperation(value="新增艺术家即将入账广告收益缓存") +// @PostMapping(value = "/insertPreAdProfit") +// public AjaxResult insertPreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ +// log.info("【抖音图文小程序】新增艺术家即将入账收益缓存参数为:{}", JSON.toJSONString(dto)); +// return AjaxResult.success(creatorProfitService.insertPreAdProfit(dto)); +// } } 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 5938bcc..c34ae02 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 @@ -117,13 +117,6 @@ public class CreatorProfit extends BaseDomain { @ApiModelProperty(value="下载次数") private Integer downloadNum; - /** - * 浏览次数 - */ - @TableField(value = "view_num") - @ApiModelProperty(value="浏览次数") - private Integer viewNum; - /** * 平台结算收益时间 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java deleted file mode 100644 index d5eda70..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.bnyer.img.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -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.util.Date; - - -@Getter -@Setter -@ApiModel("艺术家新增邀请收益接收类") -public class CreatorProfitInviteInsertDto implements Serializable { - - @NotNull(message = "艺术家id不能为空!") - @ApiModelProperty(value="艺术家id") - private Long creatorId; - - @NotBlank(message = "被邀请人搜索码不能为空!") - @ApiModelProperty(value="被邀请人搜索码") - private String scanCode; - - @NotBlank(message = "图片地址不能为空!") - @ApiModelProperty(value="图片地址") - private String headUrl; - - @NotBlank(message = "应用类型不能为空!") - @ApiModelProperty(value="应用类型(0->bnyer壁纸)") - private String appType; - - @NotBlank(message = "收益类型不能为空!") - @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") - private String type; - - @NotBlank(message = "收益状态不能为空!") - @ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)") - private String status; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="创建时间") - private Date createTime; -} 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 310bfcb..7237ce1 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 @@ -68,10 +68,6 @@ public class CreatorProfitUpdateDto implements Serializable { @ApiModelProperty(value="下载次数") private Integer downloadNum; - @NotNull(message = "浏览次数不能为空!") - @ApiModelProperty(value="浏览次数") - private Integer viewNum; - public CreatorProfit extractParam(){ CreatorProfit creatorProfit = new CreatorProfit(); BeanUtils.copyProperties(this,creatorProfit); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java index e005e8c..d997dfa 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java @@ -2,8 +2,6 @@ package com.bnyer.img.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bnyer.img.domain.CreatorProfit; -import com.bnyer.img.vo.CreatorIncomeProfitVo; -import com.bnyer.img.vo.CreatorTransIntoProfitVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -16,23 +14,21 @@ import java.util.List; @Mapper public interface CreatorProfitMapper extends BaseMapper { + /** - * 小程序艺术家查询昨日入场收益 - * @param creatorId 艺术家id - * @return - + * 批量系统修改确认收益状态 + * @param params id列表 */ - CreatorIncomeProfitVo queryFrontIncomeProfit(@Param("creatorId") Long creatorId); + void batchUpdate(@Param("params") List params); /** - * 小程序艺术家查询转入钱包收益 + * 更新下载数量 * @param creatorId 艺术家id + * @param imgId 图片Id + * @param appType 应用 + * @param platform 平台 + * @param date 日期 * @return - */ - CreatorTransIntoProfitVo queryFrontTransIntoProfit(@Param("creatorId")Long creatorId); - - /** - * 批量系统修改确认收益状态 - * @param params id列表 - */ - void batchUpdate(@Param("params") List params); + int updateDownloadNum(@Param("creatorId") Long creatorId,@Param("imgId") Long imgId,@Param("appType") String appType,@Param("platform") String platform,@Param("date") String date); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java index 36b35b6..e66aaa3 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java @@ -1,10 +1,8 @@ package com.bnyer.img.service; import com.bnyer.img.domain.CreatorProfit; -import com.bnyer.img.dto.CreatorProfitAdInsertDto; -import com.bnyer.img.dto.CreatorProfitInviteInsertDto; import com.bnyer.img.dto.CreatorProfitPageDto; -import com.bnyer.img.vo.*; +import com.bnyer.img.vo.ProfitVo; import java.util.List; @@ -14,34 +12,35 @@ import java.util.List; */ public interface CreatorProfitService { - /** - * 新增即将入账广告收益 - * @param params 收益参数 - * @return - - */ - boolean insertPreAdProfit(CreatorProfitAdInsertDto params); /** - * 新增即将入账邀请收益 - * @param params - * @return + * 判断当天是否存在结算收益订单数据 + * @param creatorId 艺术家id + * @param imgId 图片id + * @param platform 平台 + * @param appType 应用 + * @param date 日期(年月日) + * @return - */ - boolean insertPreInviteProfit(CreatorProfitInviteInsertDto params); - + boolean checkCreatorProfitExist(Long creatorId,Long imgId,String appType,String platform,String date); /** * 新增广告收益结算 - * @param creatorId 艺术家id + * @param creatorProfit 广告收益参数 * @return - */ - int insertAd(Long creatorId); + int insertCreatorProfit(CreatorProfit creatorProfit); /** - * 新增邀请收益结算 + * 更新指定日期图片下载数量 * @param creatorId 艺术家id + * @param imgId 图片id + * @param appType 应用 + * @param platform 平台 + * @param date 日期 * @return - */ - int insertInvite(Long creatorId); + int updateCreatorProfitDownloadNum(Long creatorId,Long imgId,String appType,String platform,String date); /** * 修改结算收益 @@ -92,33 +91,6 @@ public interface CreatorProfitService { */ void batchUpdateConfirmType(); - /** - * 小程序查询当天即将入账广告收益列表 - * @param creatorId 艺术家id - * @return - - */ - List queryFrontPreAdProfitList(Long creatorId); - - /** - * 小程序查询当天即将入账被邀请收益列表 - * @param creatorId 艺术家id - * @return - - */ - List queryFrontPreInviteProfitList(Long creatorId); - - /** - * 小程序查询昨日已入账收益 - * @param creatorId 艺术家id - * @return - - */ - CreatorIncomeProfitVo queryFrontIncomeProfit(Long creatorId); - - /** - * 小程序查询已转入钱包收益 - * @param creatorId 艺术家id - * @return - - */ - CreatorTransIntoProfitVo queryFrontTransIntoProfit(Long creatorId); /** * 小程序查询收益信息 @@ -126,5 +98,4 @@ public interface CreatorProfitService { * @return - */ ProfitVo queryFrontProfitInfo(Long creatorId); - } 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 0ec93c4..f3390a1 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 @@ -90,15 +90,6 @@ public interface TiktokImgService { */ int changeHot(Long id,String status); - /** - * 图片下载数量写入缓存 - * @param creatorId 艺术家id - * @param appType 应用 - * @param imgId 图片id - * @param platform 平台 - */ - void writeDownloadNum(Long creatorId,String appType,Long imgId,String platform); - /** * 图片下载总数量写入缓存 * @param appType 应用 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 6ca6e5a..7f120d7 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 @@ -1,30 +1,23 @@ package com.bnyer.img.service.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.redis.service.RedisService; -import com.bnyer.img.constants.RedisKeyConstant; import com.bnyer.img.domain.CreatorProfit; -import com.bnyer.img.dto.CreatorProfitAdInsertDto; -import com.bnyer.img.dto.CreatorProfitInviteInsertDto; import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.mapper.CreatorProfitMapper; import com.bnyer.img.service.CreatorProfitService; import com.bnyer.img.service.TiktokImgService; -import com.bnyer.img.vo.*; +import com.bnyer.img.vo.ProfitVo; 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.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Map; @Service @Slf4j @@ -40,80 +33,37 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { private TiktokImgService tiktokImgService; @Override - public boolean insertPreAdProfit(CreatorProfitAdInsertDto params) { - 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.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); + public boolean checkCreatorProfitExist(Long creatorId, Long imgId,String appType,String platform, String date) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CreatorProfit::getCreatorId, creatorId); + wrapper.eq(CreatorProfit::getImgId, imgId); + wrapper.eq(CreatorProfit::getAppType, appType); + wrapper.eq(CreatorProfit::getPlatform,platform); + wrapper.eq(CreatorProfit::getCreateTime, date); + CreatorProfit creatorProfit = creatorProfitMapper.selectOne(wrapper); + if(creatorProfit != null){ return false; - } - } - - @Override - public boolean insertPreInviteProfit(CreatorProfitInviteInsertDto params) { - String redisKey = RedisKeyConstant.WECHAT_CREATOR_INVITE_KEY + params.getCreatorId(); - //被邀请人搜索码 - String hashKey = params.getScanCode(); - try{ - if(!redisService.hasHashKey(redisKey,hashKey)){ - //写入入账缓存 - params.setCreateTime(new Date()); - redisService.setCacheMapValue(redisKey,hashKey, JSON.toJSON(params)); - log.info("艺术家id【{}】邀请了搜索码【{}】成为艺术家,写入即将入账邀请缓存成功!", - params.getCreatorId(),params.getScanCode()); - } + }else{ return true; - }catch (Exception e){ - log.error("写入即将入账邀请缓存失败!失败原因为:",e); - return false; } } @Override @Transactional(rollbackFor = Exception.class) - public int insertAd(Long creatorId) { - //TODO 确认收益后讲缓存中信息批量写入数据库,删除对应缓存 - List creatorPreProfitVos = this.queryFrontPreAdProfitList(creatorId); - CreatorProfit creatorProfit = new CreatorProfit(); + public int insertCreatorProfit(CreatorProfit creatorProfit) { creatorProfit.setCreateTime(new Date()); creatorProfit.setUpdateTime(new Date()); - creatorProfit.setIncomeTime(new Date()); - creatorProfit.setStatus("1"); - creatorProfit.setConfirmStatus("0"); + creatorProfit.setStatus("0"); creatorProfit.setIsShow("1"); creatorProfit.setSort(0); + creatorProfit.setDownloadNum(1); return creatorProfitMapper.insert(creatorProfit); } @Override @Transactional(rollbackFor = Exception.class) - public int insertInvite(Long creatorId) { - //TODO 确认收益后讲缓存中信息批量写入数据库,删除对应缓存 - List creatorPreProfitVos = this.queryFrontPreInviteProfitList(creatorId); - CreatorProfit creatorProfit = new CreatorProfit(); - creatorProfit.setCreateTime(new Date()); - creatorProfit.setUpdateTime(new Date()); - creatorProfit.setIncomeTime(new Date()); - creatorProfit.setStatus("1"); - creatorProfit.setConfirmStatus("0"); - creatorProfit.setIsShow("1"); - creatorProfit.setSort(0); - return creatorProfitMapper.insert(creatorProfit); + public int updateCreatorProfitDownloadNum(Long creatorId, Long imgId, String appType, String platform, String date) { + return creatorProfitMapper.updateDownloadNum(creatorId,imgId,appType,platform,date); } @Override @@ -210,85 +160,6 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { log.info("==============批量更新艺术家收益状态完成,耗时【{}】毫秒!===============",System.currentTimeMillis() - startTime); } - @Override - public List queryFrontPreAdProfitList(Long creatorId) { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - String date = df.format(new Date()); - String redisKey = RedisKeyConstant.WECHAT_CREATOR_DOWNLOAD_KEY + date; - String imgKey = RedisKeyConstant.TIKTOK_IMG_DOWNLOAD_NUM_KEY + date; - //获取基础图片信息 - List list = new ArrayList<>(); - try{ - if(redisService.hasKey(redisKey)){ - CreatorPreAdProfitVo profitVo = null; - Map cacheMap = redisService.getCacheMap(redisKey); - for (Map.Entry stringObjectEntry : cacheMap.entrySet()) { - JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(stringObjectEntry.getValue())); - profitVo = new CreatorPreAdProfitVo(); - profitVo.setCreatorId(creatorId); - profitVo.setImgId(Long.valueOf(jsonObject.getString("imgId"))); - profitVo.setImgUrl(jsonObject.getString("imgUrl")); - profitVo.setAppType(jsonObject.getString("appType")); - profitVo.setType(jsonObject.getString("type")); - profitVo.setPlatform(jsonObject.getString("platform")); - profitVo.setScanCode(jsonObject.getString("scanCode")); - profitVo.setStatus(jsonObject.getString("status")); - profitVo.setCreateTime(new Date(Long.parseLong(jsonObject.getString("createTime")))); - //获取图片下载量 - if(redisService.hasHashKey(imgKey,stringObjectEntry.getKey())){ - Integer downloadNum = (Integer) redisService.getCacheMapValue(imgKey, stringObjectEntry.getKey()); - profitVo.setDownloadNum(downloadNum); - } - list.add(profitVo); - } - } - }catch (Exception e){ - log.error("艺术家查询即将入账广告收益失败,错误为:",e); - return null; - } - - return list; - } - - @Override - public List queryFrontPreInviteProfitList(Long creatorId) { - String redisKey = RedisKeyConstant.WECHAT_CREATOR_DOWNLOAD_KEY + creatorId; - //获取邀请列表信息 - List list = new ArrayList<>(); - try{ - if(redisService.hasKey(redisKey)){ - CreatorPreInviteProfitVo profitVo = null; - Map cacheMap = redisService.getCacheMap(redisKey); - for (Map.Entry stringObjectEntry : cacheMap.entrySet()) { - JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(stringObjectEntry.getValue())); - profitVo = new CreatorPreInviteProfitVo(); - profitVo.setCreatorId(creatorId); - profitVo.setHeadUrl(jsonObject.getString("headUrl")); - profitVo.setAppType(jsonObject.getString("appType")); - profitVo.setType(jsonObject.getString("type")); - profitVo.setScanCode(jsonObject.getString("scanCode")); - profitVo.setStatus(jsonObject.getString("status")); - profitVo.setCreateTime(new Date(Long.parseLong(jsonObject.getString("createTime")))); - list.add(profitVo); - } - } - }catch (Exception e){ - log.error("艺术家查询即将入账邀请收益失败,错误为:",e); - return null; - } - return list; - } - - @Override - public CreatorIncomeProfitVo queryFrontIncomeProfit(Long creatorId) { - return creatorProfitMapper.queryFrontIncomeProfit(creatorId); - } - - @Override - public CreatorTransIntoProfitVo queryFrontTransIntoProfit(Long creatorId) { - return creatorProfitMapper.queryFrontTransIntoProfit(creatorId); - } - @Override public ProfitVo queryFrontProfitInfo(Long creatorId) { //TODO 计算收益 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 257ce4a..c465d5e 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 @@ -146,16 +146,6 @@ public class TiktokImgServiceImpl implements TiktokImgService { return tiktokImgMapper.update(img,wrapper); } - @Override - public void writeDownloadNum(Long creatorId,String appType,Long imgId,String 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",date,creatorId,imgId,appType,platform); - } - @Override public void writeDownloadTotalNum(String appType, String platform) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 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 deleted file mode 100644 index 09bb7c7..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorIncomeProfitVo.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.bnyer.img.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - - -@Getter -@Setter -@ApiModel("艺术家已入账收益响应体") -public class CreatorIncomeProfitVo implements Serializable { - @ApiModelProperty(value="主键id") - private Long id; - - @ApiModelProperty(value="结算流水号") - private String orderNo; - - @ApiModelProperty(value="艺术家id") - private Long creatorId; - - @ApiModelProperty(value="收益人/邀请人搜索码") - private String scanCode; - - @ApiModelProperty(value="图片id") - private Long imgId; - - @ApiModelProperty(value="结算收益(单位毫分)") - private BigDecimal profit; - - @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") - private String platform; - - @ApiModelProperty(value="应用类型(0->bnyer壁纸)") - private String appType; - - @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") - private String type; - - @ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)") - private String status; - - @ApiModelProperty(value="确认收益方式(0->系统自动;1->艺术家手动)") - private String confirmType; - - @ApiModelProperty(value="艺术家确认收益状态(0->待确认;1->已确认)") - private String confirmStatus; - - @ApiModelProperty(value="下载次数") - private Integer downloadNum; - - @ApiModelProperty(value="浏览次数") - private Integer viewNum; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="平台结算收益时间") - private Date incomeTime; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="确认收益时间") - private Date confirmTime; - - private static final long serialVersionUID = 1L; -} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreAdProfitVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreAdProfitVo.java deleted file mode 100644 index 81966a5..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreAdProfitVo.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.bnyer.img.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; -import java.util.Date; - - -@Getter -@Setter -@ApiModel("艺术家即将入账广告收益响应体") -public class CreatorPreAdProfitVo implements Serializable { - - @ApiModelProperty(value="艺术家id") - private Long creatorId; - - @ApiModelProperty(value="收益人/邀请人搜索码") - private String scanCode; - - @ApiModelProperty(value="图片id") - private Long imgId; - - @ApiModelProperty(value="图片地址") - private String imgUrl; - - @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") - private String platform; - - @ApiModelProperty(value="应用类型(0->bnyer壁纸)") - private String appType; - - @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") - private String type; - - @ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)") - private String status; - - @ApiModelProperty(value="下载次数") - private Integer downloadNum; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="创建时间") - private Date createTime; - - private static final long serialVersionUID = 1L; -} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreInviteProfitVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreInviteProfitVo.java deleted file mode 100644 index a375194..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorPreInviteProfitVo.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.bnyer.img.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; -import java.util.Date; - - -@Getter -@Setter -@ApiModel("艺术家即将入账邀请收益响应体") -public class CreatorPreInviteProfitVo implements Serializable { - - @ApiModelProperty(value="艺术家id") - private Long creatorId; - - @ApiModelProperty(value="收益人/邀请人搜索码") - private String scanCode; - - @ApiModelProperty(value="图片地址") - private String headUrl; - - @ApiModelProperty(value="应用类型(0->bnyer壁纸)") - private String appType; - - @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") - private String type; - - @ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)") - private String status; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="创建时间") - private Date createTime; - - private static final long serialVersionUID = 1L; -} 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 deleted file mode 100644 index 2dca66c..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTransIntoProfitVo.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.bnyer.img.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - - -@Getter -@Setter -@ApiModel("艺术家转入钱包响应体") -public class CreatorTransIntoProfitVo implements Serializable { - @ApiModelProperty(value="主键id") - private Long id; - - @ApiModelProperty(value="结算流水号") - private String orderNo; - - @ApiModelProperty(value="艺术家id") - private Long creatorId; - - @ApiModelProperty(value="收益人/邀请人搜索码") - private String scanCode; - - @ApiModelProperty(value="图片id") - private Long imgId; - - @ApiModelProperty(value="结算收益(单位毫分)") - private BigDecimal profit; - - @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") - private String platform; - - @ApiModelProperty(value="应用类型(0->bnyer壁纸)") - private String appType; - - @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") - private String type; - - @ApiModelProperty(value="收益状态(0->即将到账;1->已到账;2->转入钱包)") - private String status; - - @ApiModelProperty(value="下载次数") - private Integer downloadNum; - - @ApiModelProperty(value="浏览次数") - private Integer viewNum; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value="转入钱包时间") - private Date walletTime; - - private static final long serialVersionUID = 1L; -} diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml index f540f31..be7e105 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorProfitMapper.xml @@ -17,7 +17,6 @@ - @@ -29,27 +28,10 @@ id, order_no, creator_id,scan_code, img_id, profit, platform, app_type, `type`, `status`, confirm_type, - confirm_status, download_num, view_num, is_show, create_time, income_time, confirm_time, + confirm_status, download_num, is_show, create_time, income_time, confirm_time, wallet_time, update_time, sort - - - - - update img_creator_profit set confirm_type = '0',confirm_status = '1',confirm_time = now() @@ -58,5 +40,11 @@ #{item.id} + + update img_creator_profit + set download_num = download_num + 1, update_time = (select NOW()) + where creator_id = #{creatorId} and img_id = #{imgId} and app_type = #{appType} + and platform = #{platform} and DATE_FORMAT(create_time,'%Y-%m-%d') = #{date} +