From f49af28c4b4933d7c7f8d00dd15e2739d251b3b3 Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Fri, 8 Jul 2022 13:42:31 +0800 Subject: [PATCH 01/32] =?UTF-8?q?feature1.0.0-img:=E6=B7=BB=E5=8A=A0bnyer-?= =?UTF-8?q?api-img=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-api/bnyer-api-img/pom.xml | 26 ++++++ .../com/bnyer/img/api/RemoteImgService.java | 30 +++++++ .../com/bnyer/img/api/domain/TiktokImg.java | 87 +++++++++++++++++++ .../bnyer/img/api/dto/TiktokImgMiniDto.java | 35 ++++++++ .../api/factory/RemoteImgFallbackFactory.java | 33 +++++++ bnyer-api/pom.xml | 1 + .../core/constant/ServiceNameConstants.java | 7 +- 7 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 bnyer-api/bnyer-api-img/pom.xml create mode 100644 bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java create mode 100644 bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java create mode 100644 bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java create mode 100644 bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java diff --git a/bnyer-api/bnyer-api-img/pom.xml b/bnyer-api/bnyer-api-img/pom.xml new file mode 100644 index 0000000..8266a8f --- /dev/null +++ b/bnyer-api/bnyer-api-img/pom.xml @@ -0,0 +1,26 @@ + + + + com.dimensionalnode + bnyer-api + 1.0.0 + + 4.0.0 + + bnyer-api-img + + + bnyer-api-img图文服务接口模块 + + + + + + com.dimensionalnode + bnyer-common-core + + + + diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java new file mode 100644 index 0000000..6e97e57 --- /dev/null +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java @@ -0,0 +1,30 @@ +package com.bnyer.img.api; + +import com.bnyer.common.core.constant.ServiceNameConstants; +import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.web.domain.AjaxResult; +import com.bnyer.img.api.dto.TiktokImgMiniDto; +import com.bnyer.img.api.factory.RemoteImgFallbackFactory; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 图文服务 + * + * @author chengkun + * @date 2022/7/8 11:03 + */ +@FeignClient(contextId = "remoteImgService", value = ServiceNameConstants.IMG_SERVICE, fallbackFactory = RemoteImgFallbackFactory.class) +public interface RemoteImgService { + + /** + * 保存图片 + * @param dto 图片接收类 + * @return - + */ + @PostMapping(value = "/insertTiktokImg") + public R insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto); +} diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java new file mode 100644 index 0000000..11e8365 --- /dev/null +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java @@ -0,0 +1,87 @@ +package com.bnyer.img.api.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import java.io.Serializable; +import java.util.Date; + +@ApiModel("抖音图片小程序api端实体类") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +public class TiktokImg implements Serializable { + /** + * id + */ + @ApiModelProperty(value="id") + private Long id; + + /** + * 图片地址 + */ + @ApiModelProperty(value="图片地址") + private String imgUrl; + + /** + * 艺术家id + */ + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + /** + * 分类id + */ + @ApiModelProperty(value="分类id") + private Long typeId; + + /** + * 下载量 + */ + @ApiModelProperty(value="下载量") + private Integer downloadNum; + + /** + * 点赞量 + */ + @ApiModelProperty(value="点赞量") + private Integer greatNum; + + /** + * 收藏量 + */ + @ApiModelProperty(value="收藏量") + private Integer collectionNum; + + /** + * 状态(0->待审核;1->审核通过) + */ + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + /** + * 是否热门(0->冷门;1->热门) + */ + @ApiModelProperty(value="是否热门(0->冷门;1->热门)") + private String isHot; + + @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") + private String isShow; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="创建时间") + private Date createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="更新时间") + private Date updateTime; + + @ApiModelProperty(value="排序") + private Integer sort; + + private static final long serialVersionUID = 1L; +} diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java new file mode 100644 index 0000000..848255a --- /dev/null +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java @@ -0,0 +1,35 @@ +package com.bnyer.img.api.dto; + +import com.bnyer.common.core.utils.bean.BeanUtils; +import com.bnyer.img.api.domain.TiktokImg; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("抖音图片小程序api端接收类") +public class TiktokImgMiniDto implements Serializable { + + @ApiModelProperty(value="id") + private Long id; + + @ApiModelProperty(value="图片地址") + private String imgUrl; + + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + @ApiModelProperty(value="分类id") + private Long typeId; + + public TiktokImg extractParam(){ + TiktokImg tiktokImg = new TiktokImg(); + BeanUtils.copyProperties(this,tiktokImg); + return tiktokImg; + } +} diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java new file mode 100644 index 0000000..d03a044 --- /dev/null +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java @@ -0,0 +1,33 @@ +package com.bnyer.img.api.factory; + +import com.bnyer.common.core.domain.R; +import com.bnyer.img.api.RemoteImgService; +import com.bnyer.img.api.dto.TiktokImgMiniDto; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 图文服务降级处理 + * + * @author penny + */ +@Component +public class RemoteImgFallbackFactory implements FallbackFactory +{ + private static final Logger log = LoggerFactory.getLogger(RemoteImgFallbackFactory.class); + + + @Override + public RemoteImgService create(Throwable throwable) { + log.error("api图文服务调用失败:{}", throwable.getMessage()); + return new RemoteImgService() + { + @Override + public R insertTiktokImg(TiktokImgMiniDto dto) { + return R.fail("图片保存失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/bnyer-api/pom.xml b/bnyer-api/pom.xml index a7e4f62..78c3b28 100644 --- a/bnyer-api/pom.xml +++ b/bnyer-api/pom.xml @@ -10,6 +10,7 @@ bnyer-api-system + bnyer-api-img bnyer-api diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java index cd85ab4..dd160bb 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java @@ -2,7 +2,7 @@ package com.bnyer.common.core.constant; /** * 服务名称 - * + * * @author ruoyi */ public class ServiceNameConstants @@ -21,4 +21,9 @@ public class ServiceNameConstants * 文件服务的serviceid */ public static final String FILE_SERVICE = "bnyer-file"; + + /** + * 图文服务的serviceid + */ + public static final String IMG_SERVICE = "bnyer-img"; } From 027bb7ba21755cbc4220ca8b54d11f41136d7988 Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Fri, 8 Jul 2022 13:44:22 +0800 Subject: [PATCH 02/32] =?UTF-8?q?feature1.0.0-img:=E8=A1=A5=E5=85=85bnyer-?= =?UTF-8?q?api-img=E6=A8=A1=E5=9D=97resources=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bnyer/img/api/RemoteImgService.java | 1 - .../bnyer-api-img/src/main/resources/META-INF/spring.factories | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java index 6e97e57..ac07351 100644 --- a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java @@ -2,7 +2,6 @@ package com.bnyer.img.api; import com.bnyer.common.core.constant.ServiceNameConstants; import com.bnyer.common.core.domain.R; -import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.img.api.dto.TiktokImgMiniDto; import com.bnyer.img.api.factory.RemoteImgFallbackFactory; import io.swagger.annotations.ApiParam; diff --git a/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..4d3de5a --- /dev/null +++ b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.bnyer.img.api.factory.RemoteImgFallbackFactory From 6d8dd1e2d7c4e7095e94bba8aa74db75375b9d26 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sat, 9 Jul 2022 08:05:53 +0800 Subject: [PATCH 03/32] =?UTF-8?q?feature1.0.0-img:=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=89=BA=E6=9C=AF=E5=AE=B6=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/img/constants/TiktokConstant.java | 15 ++ .../img/controller/CreatorController.java | 5 - .../img/controller/CreatorMiniController.java | 2 +- .../java/com/bnyer/img/domain/Creator.java | 19 +-- .../java/com/bnyer/img/dto/CreatorDto.java | 13 +- .../com/bnyer/img/dto/CreatorLoginDto.java | 23 +++ .../com/bnyer/img/dto/CreatorPageDto.java | 3 - .../com/bnyer/img/service/CreatorService.java | 7 +- .../img/service/impl/CreatorServiceImpl.java | 141 +++++------------- .../java/com/bnyer/img/vo/CreatorLoginVo.java | 71 +++++++++ .../com/bnyer/img/mapper/CreatorMapper.xml | 7 +- 11 files changed, 165 insertions(+), 141 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java index f383bbd..11a342b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java @@ -60,4 +60,19 @@ public class TiktokConstant { * 调用快手授权失败 */ public static final Integer FH_AUTH_ERROR = 105009; + + /** + * 艺术家手机号或密码不正确 + */ + public static final Integer TIKTOK_CREATOR_PWD_ERROR = 105010; + + /** + * 艺术家尚未审核 + */ + public static final Integer TIKTOK_CREATOR_NOT_PASS_ERROR = 105011; + + /** + * 艺术家尚未审核 + */ + public static final Integer TIKTOK_CREATOR_BANED_ERROR = 105012; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java index e7ca535..9594014 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java @@ -38,9 +38,6 @@ public class CreatorController extends BaseController { if(StringUtils.isNotBlank(dto.getPhone())){ dto.setPhone(Sm4Util.sm4Encryption(dto.getPhone())); } - if(StringUtils.isNotBlank(dto.getOpenId())){ - dto.setOpenId(Sm4Util.sm4Encryption(dto.getOpenId())); - } PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); List creators = creatorService.queryPage(dto); if(creators.size() > 0){ @@ -49,8 +46,6 @@ public class CreatorController extends BaseController { if(StringUtils.isNotBlank(creator.getPhone())){ creator.setPhone(Sm4Util.sm4Decrypt(creator.getPhone())); } - //暂时注释掉openId解密校验 - //creator.setOpenId(Sm4Util.sm4Decrypt(creator.getOpenId())); } } } 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 cf51840..9fd2970 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 @@ -251,7 +251,7 @@ public class CreatorMiniController extends BaseController { //@TokenCheck @PostMapping("/login") @ApiOperation("小程序艺术家登录") - public AjaxResult login(@Validated @ApiParam("艺术家数据") @RequestBody WxLoginDto param) + public AjaxResult login(@Validated @ApiParam("艺术家数据") @RequestBody CreatorLoginDto param) { log.info("小程序艺术家数据参数为:{}", JSON.toJSON(param)); return AjaxResult.success(creatorService.login(param)); 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 225c036..6f9d8c9 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 @@ -26,11 +26,11 @@ import java.util.Date; @AllArgsConstructor @NoArgsConstructor @TableName(value = "img_creator") -public class Creator extends BaseDomain { +public class Creator extends BaseDomain { /** * 主键id */ - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value="主键id") private Long id; @@ -42,11 +42,11 @@ public class Creator extends BaseDomain { private String name; /** - * 姓名 + * 密码 */ - @TableField(value = "open_id") - @ApiModelProperty(value="微信id") - private String openId; + @TableField(value = "password") + @ApiModelProperty(value="密码") + private String password; /** * 搜索码 @@ -111,13 +111,6 @@ public class Creator extends BaseDomain { @ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)") private String isHot; - /** - * 是否显示 (0->隐藏;1->显示) - */ - @TableField(value = "is_show") - @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") - private String isShow; - /** * 最后登录时间 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java index df5db0c..ecb6a07 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java @@ -14,8 +14,9 @@ import java.io.Serializable; @ApiModel("艺术家接收类") public class CreatorDto implements Serializable { - @ApiModelProperty(value="主键Id") - private Long id; + @NotBlank(message = "昵称不能为空!") + @ApiModelProperty(value="昵称") + private String name; @NotBlank(message = "搜索码不能为空!") @ApiModelProperty(value="搜索码") @@ -25,6 +26,14 @@ public class CreatorDto implements Serializable { @ApiModelProperty(value="手机号") private String phone; + @NotBlank(message = "密码不能为空!") + @ApiModelProperty(value="密码") + private String password; + + @NotBlank(message = "头像不能为空!") + @ApiModelProperty(value="头像img地址") + private String img; + @ApiModelProperty(value="简介") private String intro; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java new file mode 100644 index 0000000..33dca23 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java @@ -0,0 +1,23 @@ +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 java.io.Serializable; + +@Getter +@Setter +@ApiModel("艺术家登录入参") +public class CreatorLoginDto implements Serializable { + + @NotBlank(message = "手机号不能为空!") + @ApiModelProperty(value = "手机号") + private String phone; + + @NotBlank(message = "密码不能为空!") + @ApiModelProperty(value = "密码") + private String password; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java index 6f54590..c0957e3 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java @@ -16,9 +16,6 @@ public class CreatorPageDto extends BasePageDto { @ApiModelProperty(value="昵称") private String name; - @ApiModelProperty(value="微信id") - private String openId; - @ApiModelProperty(value="搜索码") private String scanCode; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java index 9d7e993..0f25f05 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java @@ -1,10 +1,7 @@ package com.bnyer.img.service; import com.bnyer.img.domain.Creator; -import com.bnyer.img.dto.CreatorDto; -import com.bnyer.img.dto.CreatorPageDto; -import com.bnyer.img.dto.VerifyCreatorDto; -import com.bnyer.img.dto.WxLoginDto; +import com.bnyer.img.dto.*; import com.bnyer.img.vo.*; import java.util.List; @@ -98,7 +95,7 @@ public interface CreatorService { * @param param 前端传来的参数 * @return - */ - Map login(WxLoginDto param); + Map login(CreatorLoginDto param); /** * 查询所有审核通过的艺术家 diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 7d4ad7a..407b26a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -1,6 +1,5 @@ package com.bnyer.img.service.impl; -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.exception.ServiceException; @@ -16,27 +15,30 @@ import com.bnyer.img.domain.InviteLog; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.VerifyLog; import com.bnyer.img.dto.CreatorDto; +import com.bnyer.img.dto.CreatorLoginDto; import com.bnyer.img.dto.CreatorPageDto; import com.bnyer.img.dto.VerifyCreatorDto; -import com.bnyer.img.dto.WxLoginDto; import com.bnyer.img.mapper.CreatorMapper; import com.bnyer.img.mapper.InviteLogMapper; import com.bnyer.img.mapper.TiktokImgMapper; import com.bnyer.img.mapper.VerifyLogMapper; import com.bnyer.img.service.CreatorService; -import com.bnyer.img.vo.*; +import com.bnyer.img.vo.CreatorDetailsVo; +import com.bnyer.img.vo.CreatorHotVo; +import com.bnyer.img.vo.CreatorLoginVo; +import com.bnyer.img.vo.CreatorVo; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; -import javax.crypto.Cipher; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; import java.math.BigDecimal; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; /** @@ -132,7 +134,9 @@ public class CreatorServiceImpl implements CreatorService { throw new ServiceException("邀请码不存在,请重新编辑!",TiktokConstant.INVITE_CODE_NOT_EXIST); } Creator creator = new Creator(); - creator.setId(dto.getId()); + creator.setName(dto.getName()); + creator.setPassword(Sm4Util.sm4Encryption(dto.getPassword())); + creator.setImg(dto.getImg()); creator.setIntro(dto.getIntro()); creator.setScanCode(dto.getScanCode()); creator.setInviteCode(IdUtils.inviteCodeGen()); @@ -143,8 +147,9 @@ public class CreatorServiceImpl implements CreatorService { creator.setIsShow("1"); creator.setAmt(BigDecimal.valueOf(0)); creator.setSort(0); + creator.setCreateTime(new Date()); creator.setUpdateTime(new Date()); - int update = creatorMapper.updateById(creator); + int insert = creatorMapper.insert(creator); log.info("手机号【{}】成为艺术家成功!待审核",dto.getPhone()); //保存邀请记录 InviteLog inviteLog = new InviteLog(); @@ -157,7 +162,7 @@ public class CreatorServiceImpl implements CreatorService { inviteLog.setSort(0); inviteLogMapper.insert(inviteLog); log.info("艺术家id【{}】被邀请码【{}】邀请成功!记录写入数据库完成!",creator.getId(),dto.getInviteCode()); - return update; + return insert; } @Override @@ -267,116 +272,38 @@ public class CreatorServiceImpl implements CreatorService { return creatorMapper.update(creator,wrapper); } - /** - * 获取用户openId及sessionKey - * @param code 登录凭证code - * @return - - */ - private WxSessionInfoVo getSessionInfo(String code) { - String url = wxConfig.getSessionInfoUrl()+"?appid="+wxConfig.getAppId()+"&secret="+wxConfig.getSecret()+"&js_code="+code+"&grant_type=authorization_code"; - String forObject = restTemplate.getForObject(url, String.class); - JSONObject sessionInfo = JSONObject.parseObject(forObject); - if(StringUtils.isNotBlank(sessionInfo.getString("errcode"))){ - if(!sessionInfo.getString("errcode").equals(TiktokConstant.SUCCESS)){ - log.error("微信授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("errcode"),sessionInfo.getString("errmsg")); - throw new ServiceException("微信授权session接口调用失败!",TiktokConstant.WECHAT_AUTH_ERROR); - } - } - //调用成功,组装返回数据 - WxSessionInfoVo result = new WxSessionInfoVo(); - result.setSessionKey(sessionInfo.getString("session_key")); - result.setOpenId(sessionInfo.getString("openid")); - return result; - } - - /** - * 获取用户敏感信息 - * @param sessionKey - - * @param encryptedData 敏感数据 - * @param iv 加密向量 - * @return - - */ - private WxUserInfoVo getUserInfo(String sessionKey, String encryptedData, String iv){ - Base64.Decoder decoder = Base64.getDecoder(); - byte[] sessionKeyBytes = decoder.decode(sessionKey); - byte[] ivBytes = decoder.decode(iv); - byte[] encryptedBytes = decoder.decode(encryptedData); - - Cipher cipher = null; - try { - cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - SecretKeySpec skeySpec = new SecretKeySpec(sessionKeyBytes, "AES"); - IvParameterSpec ivSpec = new IvParameterSpec(ivBytes); - cipher.init(Cipher.DECRYPT_MODE, skeySpec, ivSpec); - byte[] ret = cipher.doFinal(encryptedBytes); - if (null != ret && ret.length > 0) { - String result = new String(ret, "UTF-8"); - return JSONObject.parseObject(result,WxUserInfoVo.class); - } - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - /** - * 保存用户 - * @param creator 艺术家信息 - * @param openId 微信id - * @param sessionKey - - * @param encryptedData 敏感信息数据 - * @param iv 加密向量 - * @return - - */ - private Creator saveUserInfo(Creator creator,String openId, String sessionKey, String encryptedData, String iv){ - if (ObjectUtils.isEmpty(creator)) { - //创建用户 - creator = new Creator(); - //获取用户昵称和头像 - WxUserInfoVo userInfo = this.getUserInfo(sessionKey, encryptedData, iv); - creator.setImg(userInfo.getAvatarUrl()); - creator.setName(userInfo.getNickName()); - creator.setOpenId(Sm4Util.sm4Encryption(openId)); - creator.setCreateTime(new Date()); - creator.setUpdateTime(new Date()); - creator.setLastLoginTime(new Date()); - creatorMapper.insert(creator); - log.info("艺术家【{}】创建成功!", openId); - return creator; - }else{ - log.info("该艺术家【{}】已存在,更新登录时间",openId); - creator.setLastLoginTime(new Date()); - creatorMapper.updateById(creator); - return creator; - } - } - @Override - public Map login(WxLoginDto dto) { - WxSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); - //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增 + public Map login(CreatorLoginDto dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(sessionInfo.getOpenId() != null,Creator::getOpenId,Sm4Util.sm4Encryption(sessionInfo.getOpenId())); + wrapper.eq(Creator::getPhone, Sm4Util.sm4Encryption(dto.getPhone())); + wrapper.eq(Creator::getPassword, Sm4Util.sm4Encryption(dto.getPassword())); Creator creator = creatorMapper.selectOne(wrapper); if(creator == null){ - //新用户,新增 - creator = this.saveUserInfo(creator,sessionInfo.getOpenId(), sessionInfo.getSessionKey(), dto.getEncryptedData(), dto.getIv()); + throw new ServiceException("手机号或密码不正确!",TiktokConstant.TIKTOK_CREATOR_PWD_ERROR); + } + if(creator.getStatus().equals("0")){ + throw new ServiceException("当前艺术家暂未审核,请耐心等待或联系客服!",TiktokConstant.TIKTOK_CREATOR_NOT_PASS_ERROR); + } + if(creator.getStatus().equals("2")){ + throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR); } - //设置会话状态 - String redisKey = RedisKeyConstant.WECHAT_CREATOR_LOGIN_KEY+Sm4Util.sm4Encryption(sessionInfo.getOpenId()); + CreatorLoginVo creatorLoginVo = new CreatorLoginVo(); + BeanUtils.copyProperties(creator, creatorLoginVo); + creatorLoginVo.setLastLoginTime(new Date()); + //存在则设置会话状态 + String redisKey = RedisKeyConstant.WECHAT_CREATOR_LOGIN_KEY+Sm4Util.sm4Encryption(dto.getPhone()); //存在该登录态则删除刷新 if(redisService.hasKey(redisKey)){ redisService.deleteObject(redisKey); } StringBuffer sb = new StringBuffer(); String randomId = IdUtils.fastSimpleUUID(); - sb.append(randomId).append("#").append(sessionInfo.getOpenId()); + sb.append(randomId).append("#").append(Sm4Util.sm4Encryption(dto.getPhone()+randomId)); //设置登录会话 Map map = new HashMap<>(2); map.put("token", sb.toString()); - map.put("sessionKey", sessionInfo.getSessionKey()); - map.put("userInfo",creator); - redisService.setCacheObject(redisKey,map, 30L, TimeUnit.DAYS); + map.put("userInfo",creatorLoginVo); + redisService.setCacheObject(redisKey,map, 10L, TimeUnit.DAYS); return map; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java new file mode 100644 index 0000000..7032984 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java @@ -0,0 +1,71 @@ +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 CreatorLoginVo implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="昵称") + private String name; + + @ApiModelProperty(value="搜索码") + private String scanCode; + + @ApiModelProperty(value="手机号") + private String phone; + + @ApiModelProperty(value="头像img地址") + private String img; + + @ApiModelProperty(value="简介") + private String intro; + + @ApiModelProperty(value="余额") + private BigDecimal amt; + + @ApiModelProperty(value="邀请码") + private String inviteCode; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + @ApiModelProperty(value="第三方平台账号详情地址") + private String url; + + @ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)") + private String isHot; + + @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") + private String isShow; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="创建时间") + private Date createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="更新时间") + private Date updateTime; + + @ApiModelProperty(value="排序") + private Integer sort; + + @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/resources/com/bnyer/img/mapper/CreatorMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml index 1079453..3237fe2 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 @@ -6,7 +6,7 @@ - + @@ -53,7 +53,7 @@ - id, `name`,open_id, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time, + id, `name`,password, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time, update_time, sort, amt, last_login_time @@ -79,9 +79,6 @@ and scan_code = #{params.scanCode} - - and open_id = #{params.openId} - and phone = #{params.phone} From a73e490f8bd9c35da0374166a2adce36d3709b02 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sat, 9 Jul 2022 20:50:17 +0800 Subject: [PATCH 04/32] =?UTF-8?q?feature1.0.0-img:=20=E4=BC=98=E5=8C=96spr?= =?UTF-8?q?ing.factories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/META-INF/spring.factories | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories index 4d3de5a..d9e7a5e 100644 --- a/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories +++ b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories @@ -1,2 +1,2 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.bnyer.img.api.factory.RemoteImgFallbackFactory +org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.bnyer.img.api.factory.RemoteImgFallbackFactory + From dc2d7641a7e89ec40263bd87550f9aa1c74ce87e Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sat, 9 Jul 2022 22:32:41 +0800 Subject: [PATCH 05/32] =?UTF-8?q?feature1.0.0-img:=20=E4=BC=98=E5=8C=96img?= =?UTF-8?q?=20feign=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bnyer/img/api/RemoteImgService.java | 2 +- bnyer-services/bnyer-file/pom.xml | 9 +++++++++ .../main/java/com/bnyer/file/BnyerFileApplication.java | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java index ac07351..7db8a5d 100644 --- a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java @@ -24,6 +24,6 @@ public interface RemoteImgService { * @param dto 图片接收类 * @return - */ - @PostMapping(value = "/insertTiktokImg") + @PostMapping(value = "/img/mini/creator/insertTiktokImg") public R insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto); } diff --git a/bnyer-services/bnyer-file/pom.xml b/bnyer-services/bnyer-file/pom.xml index 4ee76a5..9a75fc8 100644 --- a/bnyer-services/bnyer-file/pom.xml +++ b/bnyer-services/bnyer-file/pom.xml @@ -93,6 +93,15 @@ spring-mock 2.0.8 + + com.dimensionalnode + bnyer-api-img + 1.0.0 + + + com.dimensionalnode + bnyer-common-security + diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java index ef57633..a41353f 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java @@ -1,5 +1,6 @@ package com.bnyer.file; +import com.bnyer.common.security.annotation.EnableRyFeignClients; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @@ -11,6 +12,7 @@ import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; * @author ruoyi */ @EnableCustomSwagger2 +@EnableRyFeignClients @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) public class BnyerFileApplication { From c3b3602cf597e70151a54b9cfa188ab3b4a9803c Mon Sep 17 00:00:00 2001 From: qyhdd Date: Sat, 9 Jul 2022 22:50:27 +0800 Subject: [PATCH 06/32] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/img/api/dto/TiktokImgMiniDto.java | 7 ++++ .../src/main/resources/bootstrap.yml | 2 +- bnyer-services/bnyer-file/pom.xml | 10 +++++ .../file/controller/SysFileController.java | 26 +++++++++++-- .../com/bnyer/file/dto/FileUploadDto.java | 38 +++++++++++++++++++ .../com/bnyer/file/service/IFileService.java | 3 ++ .../file/service/impl/FileServiceImpl.java | 25 ++++++++++++ .../java/com/bnyer/file/vo/ChekFileVo.java | 3 ++ .../main/java/com/bnyer/file/vo/UploadVo.java | 9 +++++ 9 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java index 848255a..870f465 100644 --- a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java @@ -27,6 +27,13 @@ public class TiktokImgMiniDto implements Serializable { @ApiModelProperty(value="分类id") private Long typeId; + /** + * 状态(0->待审核;1->审核通过) + */ + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + public TiktokImg extractParam(){ TiktokImg tiktokImg = new TiktokImg(); BeanUtils.copyProperties(this,tiktokImg); diff --git a/bnyer-gateway/src/main/resources/bootstrap.yml b/bnyer-gateway/src/main/resources/bootstrap.yml index f52b854..e6b60c7 100644 --- a/bnyer-gateway/src/main/resources/bootstrap.yml +++ b/bnyer-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 7010 + port: 6010 # Spring spring: diff --git a/bnyer-services/bnyer-file/pom.xml b/bnyer-services/bnyer-file/pom.xml index 4ee76a5..edfcb81 100644 --- a/bnyer-services/bnyer-file/pom.xml +++ b/bnyer-services/bnyer-file/pom.xml @@ -93,6 +93,16 @@ spring-mock 2.0.8 + + com.dimensionalnode + bnyer-api-img + + + com.dimensionalnode + bnyer-common-security + + + diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index f15f167..33666e3 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -1,7 +1,9 @@ package com.bnyer.file.controller; +import cn.hutool.log.Log; import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.MinioService; @@ -11,12 +13,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -39,6 +39,7 @@ public class SysFileController { @Autowired private ImgConfig imgConfig; + /** * 批量上传图片 */ @@ -108,4 +109,21 @@ public class SysFileController { return R.ok(url); } + @ApiOperation(value="图片批量检测上传保存") + @PostMapping("/checkUploadSave") + @ResponseBody + public R checkUploadSave(@RequestParam Long creatorId, @RequestParam Long typeId, @RequestParam ArrayList files) { + try { + FileUploadDto fileUploadDto = new FileUploadDto(); + fileUploadDto.setFiles(files); + fileUploadDto.setCreatorId(creatorId); + fileUploadDto.setTypeId(typeId); + fileService.checkUploadSave(fileUploadDto); + } catch (Exception e) { + log.error("文件上传失败,原因为:【{}】", e.getMessage()); + return R.fail("banner上传失败!"); + } + return R.ok(); + } + } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java new file mode 100644 index 0000000..dbb439f --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java @@ -0,0 +1,38 @@ +package com.bnyer.file.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; + +/** + * @Author qyh + * @Date 2022/7/9 18:24 + * @Description + */ +@Getter +@Setter +@ApiModel("文件上传") +public class FileUploadDto { + + @ApiModelProperty(value="id") + private Long id; + + @ApiModelProperty(value="图片地址") + private String imgUrl; + + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + @ApiModelProperty(value="分类id") + private Long typeId; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + @ApiModelProperty(value="要上传的图片") + private ArrayList files; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index e11f7cc..d57ed55 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -1,5 +1,6 @@ package com.bnyer.file.service; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.vo.ChekFileVo; import org.springframework.web.multipart.MultipartFile; @@ -12,4 +13,6 @@ import java.util.ArrayList; */ public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); + //图片检测+图片上传+图片保存 + void checkUploadSave(FileUploadDto fileUploadDto); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 67a10a9..0394ebe 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,14 +1,20 @@ package com.bnyer.file.service.impl; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.ITikTokImage; import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.vo.ChekFileVo; +import com.bnyer.file.vo.TiktokImgVo; +import com.bnyer.img.api.RemoteImgService; +import com.bnyer.img.api.dto.TiktokImgMiniDto; +import com.bnyer.system.api.RemoteFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.util.ArrayList; /** @@ -22,6 +28,8 @@ public class FileServiceImpl implements IFileService { private IQiniuService qiniuService; @Autowired private ITikTokImage tikTokImage; + @Autowired + private RemoteImgService remoteImgService; @Override public ArrayList checkImg(ArrayList multipartFiles) { ArrayList chekFileVos = new ArrayList<>(); @@ -29,6 +37,7 @@ public class FileServiceImpl implements IFileService { ArrayList multipartFileList = qiniuService.checkImageFormat(multipartFiles); for (MultipartFile multipartFile : multipartFileList) { ChekFileVo chekFileVo = new ChekFileVo(); + chekFileVo.setFile(multipartFile); String filename = multipartFile.getResource().getFilename(); chekFileVo.setFileName(filename); String imageString = ImgUtil.getImageString(multipartFile); @@ -60,4 +69,20 @@ public class FileServiceImpl implements IFileService { } return chekFileVos; } + + @Override + public void checkUploadSave(FileUploadDto fileUploadDto) { + //检测图片 + for (ChekFileVo chekFileVo : checkImg(fileUploadDto.getFiles())) { + //图片上传 + String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); + TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); + tiktokImg.setImgUrl(imgUrl); + tiktokImg.setStatus(chekFileVo.getStatus()); + tiktokImg.setTypeId(fileUploadDto.getTypeId()); + tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); + remoteImgService.insertTiktokImg(tiktokImg); + } + + } } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java index 12f6e03..28ba930 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import org.springframework.web.multipart.MultipartFile; /** * @Author qyh @@ -18,4 +19,6 @@ public class ChekFileVo { private String status; @ApiModelProperty(value="文件名称") private String fileName; + @ApiModelProperty(value = "文件") + private MultipartFile file; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java new file mode 100644 index 0000000..105e70b --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java @@ -0,0 +1,9 @@ +package com.bnyer.file.vo; + +/** + * @Author qyh + * @Date 2022/7/9 18:22 + * @Description + */ +public class UploadVo { +} From 0b5c3b54bce3150f3ce9339751831717c5500cf9 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Sat, 9 Jul 2022 22:52:03 +0800 Subject: [PATCH 07/32] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bnyer/file/BnyerFileApplication.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java index ef57633..a0617ec 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java @@ -1,9 +1,11 @@ package com.bnyer.file; import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * 文件服务 @@ -12,6 +14,7 @@ import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; */ @EnableCustomSwagger2 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) +@EnableFeignClients(basePackages = "com.bnyer.img.api") public class BnyerFileApplication { public static void main(String[] args) From e8087e3409bc156679f8a7f5c4a7a7e2ddb6fb70 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Sat, 9 Jul 2022 22:53:27 +0800 Subject: [PATCH 08/32] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bnyer/file/BnyerFileApplication.java | 1 - 1 file changed, 1 deletion(-) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java index e9d38f9..1ad45cc 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java @@ -16,7 +16,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) -@EnableFeignClients(basePackages = "com.bnyer.img.api") public class BnyerFileApplication { public static void main(String[] args) From 7abafa5bb27694e23f0169752d709861210ee020 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Sun, 10 Jul 2022 17:01:43 +0800 Subject: [PATCH 09/32] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=EF=BC=88=E5=BC=82=E6=AD=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-services/bnyer-file/pom.xml | 6 ++- .../com/bnyer/file/BnyerFileApplication.java | 2 + .../com/bnyer/file/config/ExecutorConfig.java | 33 ++++++++++++ .../file/controller/SysFileController.java | 17 +++++- .../main/java/com/bnyer/file/dto/FileDto.java | 19 +++++++ .../com/bnyer/file/dto/FileUploadDto.java | 2 +- .../com/bnyer/file/service/IFileService.java | 3 +- .../file/service/impl/FileServiceImpl.java | 53 ++++++++++++------- .../src/main/resources/bootstrap.yml | 2 +- 9 files changed, 113 insertions(+), 24 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java diff --git a/bnyer-services/bnyer-file/pom.xml b/bnyer-services/bnyer-file/pom.xml index 9a75fc8..6b8458d 100644 --- a/bnyer-services/bnyer-file/pom.xml +++ b/bnyer-services/bnyer-file/pom.xml @@ -102,7 +102,11 @@ com.dimensionalnode bnyer-common-security - + + org.springframework.boot + spring-boot-configuration-processor + true + diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java index 1ad45cc..b162e1b 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java @@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; /** * 文件服务 @@ -15,6 +16,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; */ @EnableCustomSwagger2 @EnableRyFeignClients +@EnableAsync @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) public class BnyerFileApplication { diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java new file mode 100644 index 0000000..cfb5c7f --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java @@ -0,0 +1,33 @@ +package com.bnyer.file.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @Author qyh + * @Date 2022/7/10 15:31 + * @Description + */ +@Configuration +@EnableAsync +public class ExecutorConfig { + + + @Bean + public Executor mySimpleAsync() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(10); + executor.setMaxPoolSize(50); + executor.setQueueCapacity(10); + executor.setThreadNamePrefix("fileUpload"); + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + executor.initialize(); + return executor; + } +} \ No newline at end of file diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 33666e3..586ccc4 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -3,6 +3,7 @@ package com.bnyer.file.controller; import cn.hutool.log.Log; import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; +import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; @@ -12,6 +13,7 @@ import com.bnyer.file.vo.ChekFileVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.util.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -108,14 +110,25 @@ public class SysFileController { } return R.ok(url); } - + public static final String UPLOAD_PREFIX_PATH = "/opt/uploading"; @ApiOperation(value="图片批量检测上传保存") @PostMapping("/checkUploadSave") @ResponseBody public R checkUploadSave(@RequestParam Long creatorId, @RequestParam Long typeId, @RequestParam ArrayList files) { try { + ArrayList fileDtos = new ArrayList<>(); + for (MultipartFile file : files) { + FileDto fileDto = new FileDto(); + byte[] bytes = IOUtils.toByteArray(file.getInputStream()); + fileDto.setBytes(bytes); + fileDto.setName(file.getName()); + fileDto.setOriginalFilename(file.getOriginalFilename()); + fileDtos.add(fileDto); + } + // 生成临时文件 + FileUploadDto fileUploadDto = new FileUploadDto(); - fileUploadDto.setFiles(files); + fileUploadDto.setFiles(fileDtos); fileUploadDto.setCreatorId(creatorId); fileUploadDto.setTypeId(typeId); fileService.checkUploadSave(fileUploadDto); diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java new file mode 100644 index 0000000..245240f --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java @@ -0,0 +1,19 @@ +package com.bnyer.file.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Getter; +import lombok.Setter; + +/** + * @Author qyh + * @Date 2022/7/10 16:37 + * @Description + */ +@Getter +@Setter +@ApiModel("文件信息") +public class FileDto { + private byte[] bytes; + private String originalFilename; + private String name; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java index dbb439f..e2a8757 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java @@ -34,5 +34,5 @@ public class FileUploadDto { private String status; @ApiModelProperty(value="要上传的图片") - private ArrayList files; + private ArrayList files; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index d57ed55..530e4e3 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -4,6 +4,7 @@ import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.vo.ChekFileVo; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.ArrayList; /** @@ -14,5 +15,5 @@ import java.util.ArrayList; public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); //图片检测+图片上传+图片保存 - void checkUploadSave(FileUploadDto fileUploadDto); + void checkUploadSave(FileUploadDto fileUploadDto) throws IOException; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 0394ebe..bd806d8 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,5 +1,6 @@ package com.bnyer.file.service.impl; +import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; @@ -10,12 +11,19 @@ import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; import com.bnyer.system.api.RemoteFileService; +import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; +import java.util.UUID; /** * @Author: Yeman @@ -44,15 +52,15 @@ public class FileServiceImpl implements IFileService { String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," +imageString); if (checkMsg.equals("pass")){ //抖音图片检测二次检测 - if (tikTokImage.checkImageContent(multipartFile)) { +// if (tikTokImage.checkImageContent(multipartFile)) { //可以通过 chekFileVo.setStatus("1"); chekFileVos.add(chekFileVo); - }else { - //不可以通过 - chekFileVo.setStatus("2"); - chekFileVos.add(chekFileVo); - } +// }else { +// //不可以通过 +// chekFileVo.setStatus("2"); +// chekFileVos.add(chekFileVo); +// } continue; } if (checkMsg.equals("review")){ @@ -71,18 +79,27 @@ public class FileServiceImpl implements IFileService { } @Override - public void checkUploadSave(FileUploadDto fileUploadDto) { - //检测图片 - for (ChekFileVo chekFileVo : checkImg(fileUploadDto.getFiles())) { - //图片上传 - String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); - TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); - tiktokImg.setImgUrl(imgUrl); - tiktokImg.setStatus(chekFileVo.getStatus()); - tiktokImg.setTypeId(fileUploadDto.getTypeId()); - tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); - remoteImgService.insertTiktokImg(tiktokImg); - } + @Async("mySimpleAsync") + public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { + ArrayList multipartFiles = new ArrayList<>(); + for (FileDto fileDto : fileUploadDto.getFiles()) { + InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); + MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); + //System.out.println(files.getSize()); + multipartFiles.add(files); + } + //检测图片 + for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { + //图片上传 + String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); + TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); + tiktokImg.setImgUrl(imgUrl); + tiktokImg.setStatus(chekFileVo.getStatus()); + tiktokImg.setTypeId(fileUploadDto.getTypeId()); + tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); + remoteImgService.insertTiktokImg(tiktokImg); + } } + } diff --git a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml index ccea5fc..a1621ce 100644 --- a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml +++ b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml @@ -15,4 +15,4 @@ spring: active: dev servlet: multipart: - maxFileSize: 5MB + maxFileSize: 5MB \ No newline at end of file From 6f16aaea86a87199f20ec6654f121f1195399ff2 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 10 Jul 2022 18:26:30 +0800 Subject: [PATCH 10/32] =?UTF-8?q?feature1.0.0-img:=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/CreatorMiniController.java | 44 ++++++++++- .../com/bnyer/img/dto/CheckInviteCodeDto.java | 20 +++++ .../java/com/bnyer/img/dto/CheckPhoneDto.java | 20 +++++ .../com/bnyer/img/dto/CheckScanCodeDto.java | 21 ++++++ .../java/com/bnyer/img/dto/CreatorDto.java | 2 +- .../com/bnyer/img/service/CreatorService.java | 21 ++++++ .../img/service/impl/CreatorServiceImpl.java | 73 +++++++------------ 7 files changed, 153 insertions(+), 48 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java 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 9fd2970..df29efb 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 @@ -3,6 +3,7 @@ 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.img.constants.TiktokConstant; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; @@ -54,10 +55,49 @@ public class CreatorMiniController extends BaseController { private CreatorProfitService creatorProfitService; //@TokenCheck - @ApiOperation(value="成为艺术家") + @ApiOperation(value="检查手机号是否重复") + @PostMapping(value = "/checkPhone") + public AjaxResult checkPhone(@Validated @RequestBody @ApiParam("手机号对象") CheckPhoneDto dto){ + log.debug("【艺术家小程序】检查手机号是否重复参数为:{}", JSON.toJSONString(dto)); + boolean b = creatorService.checkPhone(dto.getPhone()); + if(b){ + return AjaxResult.error(TiktokConstant.BINDED_PHONE,"当前手机号已绑定艺术家,请重新编辑!"); + }else{ + return AjaxResult.success(); + } + } + + //@TokenCheck + @ApiOperation(value="检查搜索码是否重复") + @PostMapping(value = "/checkScanCode") + public AjaxResult checkScanCode(@Validated @RequestBody @ApiParam("搜索码对象") CheckScanCodeDto dto){ + log.debug("【艺术家小程序】检查搜索码是否重复参数为:{}", JSON.toJSONString(dto)); + boolean b = creatorService.checkScanCode(dto.getScanCode()); + if(b){ + return AjaxResult.error(TiktokConstant.SCAN_CODE_REPEAT,"搜索码重复,请重新编辑!"); + }else{ + return AjaxResult.success(); + } + } + + //@TokenCheck + @ApiOperation(value="检查邀请码是否存在") + @PostMapping(value = "/checkInviteCode") + public AjaxResult checkInviteCode(@Validated @RequestBody @ApiParam("邀请码对象") CheckInviteCodeDto dto){ + log.debug("【艺术家小程序】检查邀请码是否存在参数为:{}", JSON.toJSONString(dto)); + boolean b = creatorService.checkInviteCode(dto.getInviteCode()); + if(b){ + return AjaxResult.success(); + }else{ + return AjaxResult.error(TiktokConstant.INVITE_CODE_NOT_EXIST,"邀请码不存在,请联系客服!"); + } + } + + //@TokenCheck + @ApiOperation(value="注册艺术家") @PostMapping(value = "/insertCreator") public AjaxResult insertCreator(@Validated @RequestBody @ApiParam("艺术家对象") CreatorDto dto){ - log.info("【艺术家小程序】成为艺术家参数为:{}", JSON.toJSONString(dto)); + log.info("【艺术家小程序】注册艺术家参数为:{}", JSON.toJSONString(dto)); return AjaxResult.success(creatorService.insertCreator(dto)); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java new file mode 100644 index 0000000..2be2fd2 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java @@ -0,0 +1,20 @@ +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 java.io.Serializable; + + +@Getter +@Setter +@ApiModel("邀请码接收类") +public class CheckInviteCodeDto implements Serializable { + + @NotBlank(message = "邀请码不能为空!") + @ApiModelProperty(value="邀请码") + private String inviteCode; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java new file mode 100644 index 0000000..cab16f2 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java @@ -0,0 +1,20 @@ +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 java.io.Serializable; + + +@Getter +@Setter +@ApiModel("手机号接收类") +public class CheckPhoneDto implements Serializable { + + @NotBlank(message = "手机号不能为空!") + @ApiModelProperty(value="手机号") + private String phone; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java new file mode 100644 index 0000000..146b9b1 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java @@ -0,0 +1,21 @@ +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; + + +@Getter +@Setter +@ApiModel("搜索码接收类") +public class CheckScanCodeDto implements Serializable { + + @NotBlank(message = "搜索码不能为空!") + @ApiModelProperty(value="搜索码") + private String scanCode; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java index ecb6a07..fa8eaef 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java @@ -30,7 +30,7 @@ public class CreatorDto implements Serializable { @ApiModelProperty(value="密码") private String password; - @NotBlank(message = "头像不能为空!") + //@NotBlank(message = "头像不能为空!") @ApiModelProperty(value="头像img地址") private String img; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java index 0f25f05..34cc14a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java @@ -122,4 +122,25 @@ public interface CreatorService { * @return - */ Map queryCreatorScanCodeById(Long id); + + /** + * 检查用户是否绑定过手机号 + * @param phone 手机号 + * @return - + */ + boolean checkPhone(String phone); + + /** + * 检查搜索码是否重复 + * @param scanCode 搜索码 + * @return - + */ + boolean checkScanCode(String scanCode); + + /** + * 检查邀请码是否存在 + * @param inviteCode 邀请码 + * @return - + */ + boolean checkInviteCode(String inviteCode); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 407b26a..4ce856c 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -70,16 +70,10 @@ public class CreatorServiceImpl implements CreatorService { @Autowired private WxConfig wxConfig; - - - /** - * 检查用户是否绑定过手机号 - * @param phone 手机号 - * @return - - */ - private boolean checkPhone(String phone){ + @Override + public boolean checkPhone(String phone){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Creator::getPhone, phone); + wrapper.eq(Creator::getPhone, Sm4Util.sm4Encryption(StringUtils.trim(phone))); List creators = creatorMapper.selectList(wrapper); if(creators.size() > 0){ return true; @@ -88,14 +82,10 @@ public class CreatorServiceImpl implements CreatorService { } } - /** - * 检查搜索码是否重复 - * @param scanCode 搜索码 - * @return - - */ - private boolean checkScanCode(String scanCode){ + @Override + public boolean checkScanCode(String scanCode){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Creator::getScanCode, scanCode); + wrapper.eq(Creator::getScanCode, StringUtils.trim(scanCode)); List creators = creatorMapper.selectList(wrapper); if(creators.size() > 0){ return true; @@ -104,44 +94,37 @@ public class CreatorServiceImpl implements CreatorService { } } - /** - * 检查邀请码是否存在 - * @param inviteCode 邀请码 - * @return - - */ - private Creator checkInviteCode(String inviteCode){ + @Override + public boolean checkInviteCode(String inviteCode){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Creator::getInviteCode, inviteCode); - return creatorMapper.selectOne(wrapper); + wrapper.eq(Creator::getInviteCode, StringUtils.trim(inviteCode)); + Creator creators = creatorMapper.selectOne(wrapper); + if(creators != null){ + return true; + }else{ + return false; + } } @Override @Transactional(rollbackFor = Exception.class) public int insertCreator(CreatorDto dto) { - //检查手机号是否存在 - boolean b1 = checkPhone(Sm4Util.sm4Encryption(dto.getPhone())); - if(b1){ - throw new ServiceException("当前手机号已绑定艺术家,请重新编辑!", TiktokConstant.BINDED_PHONE); - } - //检查搜索码是否重复 - boolean b = this.checkScanCode(dto.getScanCode()); - if(b){ - throw new ServiceException("搜索码重复,请重新编辑!",TiktokConstant.SCAN_CODE_REPEAT); - } //检查邀请码是否存在 - Creator creatorProtoType = this.checkInviteCode(dto.getInviteCode()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Creator::getInviteCode, StringUtils.trim(dto.getInviteCode())); + Creator creatorProtoType = creatorMapper.selectOne(wrapper); if(creatorProtoType == null){ throw new ServiceException("邀请码不存在,请重新编辑!",TiktokConstant.INVITE_CODE_NOT_EXIST); } Creator creator = new Creator(); - creator.setName(dto.getName()); - creator.setPassword(Sm4Util.sm4Encryption(dto.getPassword())); - creator.setImg(dto.getImg()); - creator.setIntro(dto.getIntro()); - creator.setScanCode(dto.getScanCode()); + creator.setName(StringUtils.trim(dto.getName())); + creator.setPassword(Sm4Util.sm4Encryption(StringUtils.trim(dto.getPassword()))); + creator.setImg(StringUtils.trim(dto.getImg())); + creator.setIntro(StringUtils.trim(dto.getIntro())); + creator.setScanCode(StringUtils.trim(dto.getScanCode())); creator.setInviteCode(IdUtils.inviteCodeGen()); - creator.setUrl(dto.getUrl()); - creator.setPhone(Sm4Util.sm4Encryption(dto.getPhone())); + creator.setUrl(StringUtils.trim(dto.getUrl())); + creator.setPhone(Sm4Util.sm4Encryption(StringUtils.trim(dto.getPhone()))); creator.setIsHot("0"); creator.setStatus("0"); creator.setIsShow("1"); @@ -150,10 +133,10 @@ public class CreatorServiceImpl implements CreatorService { creator.setCreateTime(new Date()); creator.setUpdateTime(new Date()); int insert = creatorMapper.insert(creator); - log.info("手机号【{}】成为艺术家成功!待审核",dto.getPhone()); + log.info("手机号【{}】成为艺术家成功!待审核",StringUtils.trim(dto.getPhone())); //保存邀请记录 InviteLog inviteLog = new InviteLog(); - inviteLog.setInviteCode(dto.getInviteCode()); + inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode())); inviteLog.setInvitedCreatorId(creator.getId()); inviteLog.setCreatorId(creatorProtoType.getId()); inviteLog.setCreateTime(new Date()); @@ -161,7 +144,7 @@ public class CreatorServiceImpl implements CreatorService { inviteLog.setUpdateTime(new Date()); inviteLog.setSort(0); inviteLogMapper.insert(inviteLog); - log.info("艺术家id【{}】被邀请码【{}】邀请成功!记录写入数据库完成!",creator.getId(),dto.getInviteCode()); + log.info("艺术家id【{}】被邀请码【{}】邀请成功!记录写入数据库完成!",creator.getId(),StringUtils.trim(dto.getInviteCode())); return insert; } From 9c48b383165b2e53dddebbde4514660f208432ac Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 10 Jul 2022 18:36:10 +0800 Subject: [PATCH 11/32] =?UTF-8?q?feature1.0.0-quan-img:=20=E8=BF=98?= =?UTF-8?q?=E5=8E=9F=E7=BD=91=E5=85=B3port?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-gateway/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bnyer-gateway/src/main/resources/bootstrap.yml b/bnyer-gateway/src/main/resources/bootstrap.yml index e6b60c7..f52b854 100644 --- a/bnyer-gateway/src/main/resources/bootstrap.yml +++ b/bnyer-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 6010 + port: 7010 # Spring spring: From faa02762146de358cd711f20c10f11356a0ac218 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 10 Jul 2022 18:54:23 +0800 Subject: [PATCH 12/32] =?UTF-8?q?feature-img-1.0.0:=20=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E7=BD=91=E5=85=B3port,=E5=AF=B9=E6=8E=A5=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java | 3 --- bnyer-gateway/src/main/resources/bootstrap.yml | 2 +- .../java/com/bnyer/img/controller/CreatorMiniController.java | 4 +--- .../src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java | 3 +++ 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java index 870f465..06bcc35 100644 --- a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java +++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java @@ -27,9 +27,6 @@ public class TiktokImgMiniDto implements Serializable { @ApiModelProperty(value="分类id") private Long typeId; - /** - * 状态(0->待审核;1->审核通过) - */ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") private String status; diff --git a/bnyer-gateway/src/main/resources/bootstrap.yml b/bnyer-gateway/src/main/resources/bootstrap.yml index e6b60c7..f52b854 100644 --- a/bnyer-gateway/src/main/resources/bootstrap.yml +++ b/bnyer-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 6010 + port: 7010 # Spring spring: 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 df29efb..182e6ad 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 @@ -140,9 +140,7 @@ public class CreatorMiniController extends BaseController { @PostMapping(value = "/insertTiktokImg") public AjaxResult insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto){ log.info("【艺术家小程序】艺术家【{}】新增图片参数为:{}",dto.getCreatorId(),JSON.toJSONString(dto)); - TiktokImg tiktokImg = dto.extractParam(); - tiktokImg.setStatus("0"); - return AjaxResult.success(tiktokImgService.insert(tiktokImg)); + return AjaxResult.success(tiktokImgService.insert(dto.extractParam())); } //@TokenCheck diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java index 91ace0c..ceab1f0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java @@ -27,6 +27,9 @@ public class TiktokImgMiniDto implements Serializable { @ApiModelProperty(value="分类id") private Long typeId; + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + public TiktokImg extractParam(){ TiktokImg tiktokImg = new TiktokImg(); BeanUtils.copyProperties(this,tiktokImg); From 008317f0a6aadcb4b4c61088d33eb522f1f23e17 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Sun, 10 Jul 2022 22:59:28 +0800 Subject: [PATCH 13/32] =?UTF-8?q?=E6=A0=87=E7=AD=BEcrud+=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/controller/SysFileController.java | 11 +- .../com/bnyer/file/service/IQiniuService.java | 7 ++ .../file/service/impl/QiniuServiceImpl.java | 29 ++++- .../src/main/resources/bootstrap.yml | 2 +- .../bnyer/img/dto/ImgSignRelationPageDto.java | 21 ++++ .../java/com/bnyer/img/dto/SignPageDto.java | 19 ++++ .../img/service/ImgSignRelationService.java | 81 ++++++++++++++ .../com/bnyer/img/service/SignService.java | 57 ++++++++++ .../impl/ImgSignRelationServiceImpl.java | 104 ++++++++++++++++++ .../img/service/impl/SignServiceImpl.java | 82 ++++++++++++++ 10 files changed, 407 insertions(+), 6 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 586ccc4..4fa9161 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -70,7 +70,7 @@ public class SysFileController { */ @ApiOperation(value="批量压缩上传到七牛云") @PostMapping("/uploadBatchCompImg") - public R> compression(MultipartFile[] files) throws IOException { + public R> compression(@RequestParam MultipartFile[] files) throws IOException { List list = new ArrayList<>(); for (MultipartFile file : files) { MultipartFile file1 = ImgUtil.commpressPicCycle(Long.parseLong(imgConfig.getFileSize()), Double.parseDouble(imgConfig.getAccuracy()), file); @@ -81,13 +81,20 @@ public class SysFileController { // 上传并返回访问地址 return R.ok(list); } + @ApiOperation(value="文件删除") + @PostMapping("/deleteFile") + public R deleteFile(@RequestParam String url) throws IOException { + String res = qiniuService.deleteFile(url); + // 上传并返回访问地址 + return R.ok(res); + } /** * 批量审核 */ @ApiOperation(value="批量图片审核") @PostMapping("/checkBatch") - public R> checkBatch(ArrayList files) { + public R> checkBatch(@RequestParam ArrayList files) { try { ArrayList list = fileService.checkImg(files); // 上传并返回访问地址 diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java index 9c845c7..9c2e9fc 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java @@ -20,4 +20,11 @@ public interface IQiniuService { * @return */ ArrayList checkImageFormat(ArrayList multipartFiles); + + /** + * 文件删除 + * @param filepath 文件路径 + * @return + */ + String deleteFile(String filepath); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java index 9425da0..b52bfa0 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.file.config.QiniuConfig; import com.bnyer.file.service.IQiniuService; +import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.utils.StringUtil; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; @@ -11,6 +12,7 @@ import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.http.Client; import com.qiniu.http.Response; +import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; @@ -182,12 +184,33 @@ public class QiniuServiceImpl implements IQiniuService { } return null; } + //删除文件 + public String deleteFile(String filepath){ + String[] split = filepath.split("//"); + //构造一个带指定Region对象的配置类 + Configuration cfg = new Configuration(zone); + System.out.println(split[2]); + String key = split[2]; + Auth auth = Auth.create(qiniuConfig.getAccessKey(), qiniuConfig.getSecretKey()); + BucketManager bucketManager = new BucketManager(auth, cfg); + try { + return bucketManager.delete(qiniuConfig.getBucketName(), key).toString(); + } catch (QiniuException ex) { + //如果遇到异常,说明删除失败 + System.err.println(ex.code()); + System.err.println(ex.response.toString()); + } + return ""; + } + public static void main(String[] args) { + String url="http://rd582ra2f.hd-bkt.clouddn.com//code/duck/2022-07-10-e46bf8d168b348fd9cc8b6b39e12d3ca.png"; + for (String s : url.split("//")) { + System.out.println(s); + } -// public static void main(String[] args) { -// // String imageString = ImgUtil.getImageString("C:\\Users\\ASUS\\Documents\\WeChat Files\\wxid_vzk0z5ghy6q922\\FileStorage\\File\\2020-09\\20220608134731.png"); // JSONObject jsonObject = checkImageContent("data:application/octet-stream;base64," + imageString); // System.out.println(JSON.parseObject(jsonObject.get("result").toString()).get("suggestion").toString()); // System.out.println(jsonObject); -// } + } } diff --git a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml index a1621ce..687e6b7 100644 --- a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml +++ b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml @@ -15,4 +15,4 @@ spring: active: dev servlet: multipart: - maxFileSize: 5MB \ No newline at end of file + maxFileSize: 27MB \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java new file mode 100644 index 0000000..833bd90 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java @@ -0,0 +1,21 @@ +package com.bnyer.img.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@ApiModel("imgSignRelation分页接收类") +public class ImgSignRelationPageDto extends BasePageDto { + + @ApiModelProperty(value="是否显示") + private String isShow; + + @ApiModelProperty(value="图片id") + private Long imgId; + + @ApiModelProperty(value="标签id") + private Long signId; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java new file mode 100644 index 0000000..35b1b94 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java @@ -0,0 +1,19 @@ +package com.bnyer.img.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@ApiModel("sign分页接收类") +public class SignPageDto extends BasePageDto { + + @ApiModelProperty(value="标签名称") + private String name; + + @ApiModelProperty(value="是否显示") + private String isShow; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java new file mode 100644 index 0000000..b53ba8c --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java @@ -0,0 +1,81 @@ +package com.bnyer.img.service; + +import com.bnyer.img.domain.ImgSignRelation; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.ImgSignRelationPageDto; +import com.bnyer.img.dto.SignPageDto; + +import java.util.List; + +/** + * @Author qyh + * @Date 2022/7/10 21:23 + * @Description + */ +public interface ImgSignRelationService { + /** + * 新增imgSignRelation + * @param imgSignRelation + * @return + */ + int insert(ImgSignRelation imgSignRelation); + + /** + * 修改imgSignRelation + * @param imgSignRelation - + * @return - + */ + int update(ImgSignRelation imgSignRelation); + + /** + * 批量删除imgSignRelation + * @param ids ids + * @return - + */ + int delete(List ids); + + /** + * 查询imgSignRelation分页 + * @param dto 分页对象 + * @return - + */ + List queryPage(ImgSignRelationPageDto dto); + + /** + * 查询imgSignRelation详情 + * @param id 主键id + * @return - + */ + ImgSignRelation queryDetails(Long id); + + /** + * 查询小程序imgSignRelation列表 + * @param imgId 图片id + * @return - + */ + List queryListByImgId(String imgId); + + /** + * 查询小程序imgSignRelation列表 + * @param signId 标签id + * @return - + */ + List queryListBySignId(String signId); + + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id,String status); + + /** + * 根据列名+条件删除 + * @param columnName 要删除的列名 + * @param conditions 根据什么条件删除 + * @return + */ + int deleteByColumn(String columnName,Long conditions); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index d81ade2..5f1d2b8 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -1,4 +1,61 @@ package com.bnyer.img.service; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.vo.BannerVo; + +import java.util.List; + public interface SignService { + /** + * 新增Sign + * @param sign + * @return + */ + int insert(Sign sign); + + /** + * 修改sign + * @param sign - + * @return - + */ + int update(Sign sign); + + /** + * 批量删除sign + * @param ids ids + * @return - + */ + int delete(List ids); + + /** + * 查询sign分页 + * @param dto 分页对象 + * @return - + */ + List queryPage(SignPageDto dto); + + /** + * 查询sign详情 + * @param id 主键id + * @return - + */ + Sign queryDetails(Long id); + + /** + * 查询小程序sign列表 + * @param name 标签名字 + * @return - + */ + List queryList(String name); + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id,String status); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java new file mode 100644 index 0000000..f200de0 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java @@ -0,0 +1,104 @@ +package com.bnyer.img.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.ImgSignRelation; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.ImgSignRelationPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.mapper.ImgSignRelationMapper; +import com.bnyer.img.service.ImgSignRelationService; +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.util.List; + +/** + * @Author qyh + * @Date 2022/7/10 21:22 + * @Description + */ +@Service +@Slf4j +public class ImgSignRelationServiceImpl implements ImgSignRelationService { + @Autowired + private ImgSignRelationMapper imgSignRelationMapper; + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(ImgSignRelation imgSignRelation) { + return imgSignRelationMapper.insert(imgSignRelation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(ImgSignRelation imgSignRelation) { + return imgSignRelationMapper.updateById(imgSignRelation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + return imgSignRelationMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(ImgSignRelationPageDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(dto.getImgId()!=null){ + wrapper.like(ImgSignRelation::getImgId,dto.getImgId()); + } + if(dto.getSignId()!=null){ + wrapper.eq(ImgSignRelation::getSignId, dto.getSignId()); + } + if(StringUtils.isNotBlank(dto.getIsShow())){ + wrapper.eq(ImgSignRelation::getIsShow, dto.getIsShow()); + } + wrapper.orderByDesc(ImgSignRelation::getSort); + return imgSignRelationMapper.selectList(wrapper); + } + + @Override + public ImgSignRelation queryDetails(Long id) { + return imgSignRelationMapper.selectById(id); + } + + @Override + public List queryListByImgId(String imgId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("img_id",imgId); + return imgSignRelationMapper.selectList(wrapper); + } + @Override + public List queryListBySignId(String signId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("sign_id",signId); + return imgSignRelationMapper.selectList(wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(ImgSignRelation::getId,id); + ImgSignRelation imgSignRelation = new ImgSignRelation(); + imgSignRelation.setIsShow(status); + return imgSignRelationMapper.update(imgSignRelation,wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int deleteByColumn(String columnName, Long conditions) { + QueryWrapper wrapper = new QueryWrapper<>(); + if (conditions!=null){ + wrapper.eq(columnName,conditions); + imgSignRelationMapper.delete(wrapper); + } + + return 0; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index b11bb72..ef310a5 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -1,10 +1,92 @@ package com.bnyer.img.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.mapper.SignMapper; import com.bnyer.img.service.SignService; +import com.bnyer.img.vo.BannerVo; 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.util.Date; +import java.util.List; @Service @Slf4j public class SignServiceImpl implements SignService { + @Autowired + private SignMapper signMapper; + @Autowired + private ImgSignRelationServiceImpl imgSignRelationService; + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(Sign sign) { + List signs = queryList(sign.getName()); + if (signs.size()<=0){ + sign.setCreateTime(new Date()); + sign.setUpdateTime(new Date()); + return signMapper.insert(sign); + } + return 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(Sign sign) { + sign.setUpdateTime(new Date()); + return signMapper.updateById(sign); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + //先把img_sign_relation关联的数据删掉 + for (Long id : ids) { + imgSignRelationService.deleteByColumn("sign_id",id); + } + return signMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(SignPageDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotBlank(dto.getName())){ + wrapper.like(Sign::getName,dto.getName()); + } + if (StringUtils.isNotBlank(dto.getIsShow())){ + wrapper.eq(Sign::getIsShow,dto.getIsShow()); + } + wrapper.orderByDesc(Sign::getSort); + return signMapper.selectList(wrapper); + } + + @Override + public Sign queryDetails(Long id) { + return signMapper.selectById(id); + } + + @Override + public List queryList(String name) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name",name); + return signMapper.selectList(wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Sign::getId,id); + Sign sign = new Sign(); + sign.setIsShow(status); + return signMapper.update(sign,wrapper); + } } From 8acad4bb409aca4d0dd76209dca5d068695cffec Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Mon, 11 Jul 2022 15:21:10 +0800 Subject: [PATCH 14/32] =?UTF-8?q?feature1.0.0-img:=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=8B=E8=BD=BD=E6=AC=A1=E6=95=B0=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E6=8E=A5=E5=8F=A3=EF=BC=9B=E7=BB=9F=E8=AE=A1=E8=89=BA?= =?UTF-8?q?=E6=9C=AF=E5=AE=B6=E5=9B=BE=E7=89=87=E5=88=86=E7=B1=BB=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/img/constants/RedisKeyConstant.java | 5 ++ .../img/controller/CreatorMiniController.java | 7 ++ .../img/controller/FhMiniController.java | 12 +++- .../img/controller/TiktokMiniController.java | 12 +++- .../img/controller/WxMiniController.java | 12 +++- .../img/dto/CreatorProfitAdInsertDto.java | 10 +-- .../img/dto/CreatorProfitInviteInsertDto.java | 45 ++++++++++++ .../img/dto/checkUserCanDownloadDto.java | 27 ++++++++ .../com/bnyer/img/mapper/TiktokImgMapper.java | 8 +++ .../img/service/CreatorProfitService.java | 20 +++++- .../bnyer/img/service/TiktokImgService.java | 8 +++ .../impl/CreatorProfitServiceImpl.java | 68 +++++++++++++++++-- .../img/service/impl/CreatorServiceImpl.java | 5 +- .../service/impl/TiktokImgServiceImpl.java | 19 ++++++ .../bnyer/img/task/CollectionSyncTask.java | 1 + .../CreatorProfitConfirmTypeSyncTask.java | 1 + .../java/com/bnyer/img/task/LikeSyncTask.java | 1 + .../bnyer/img/task/UserDownloadSyncTask.java | 29 ++++++++ .../com/bnyer/img/vo/CreatorTypeImgVo.java | 35 ++++++++++ .../com/bnyer/img/mapper/TiktokImgMapper.xml | 8 +++ 20 files changed, 310 insertions(+), 23 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java 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 0610449..72cbdf5 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 @@ -92,4 +92,9 @@ public class RedisKeyConstant { * 审核收益锁键 */ public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:"; + + /** + * 平台用户下载键 + */ + public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; } 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 182e6ad..2087bfb 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 @@ -294,4 +294,11 @@ public class CreatorMiniController extends BaseController { log.info("小程序艺术家数据参数为:{}", JSON.toJSON(param)); return AjaxResult.success(creatorService.login(param)); } + + //@TokenCheck + @ApiOperation(value="查询艺术家分类图片数量") + @GetMapping(value = "/queryCreatorTypeImgNum/{creatorId}") + public AjaxResult queryCreatorTypeImgNum(@PathVariable @ApiParam("艺术家id") Long creatorId){ + return AjaxResult.success(tiktokImgService.queryCreatorTypeImgNum(creatorId)); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index a494ab7..7be6d94 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -197,18 +197,26 @@ public class FhMiniController extends BaseController { return getDataTable(tiktokImgVos); } + //@TokenCheck + @ApiOperation(value="检查某平台用户当日下载次数是否超标") + @PostMapping(value = "/checkUserCanDownload") + public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ + log.debug("【快手图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + } + //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ log.debug("【快手图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam())); + return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto)); } //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账邀请收益") @PostMapping(value = "/insertOrUpdatePreInviteProfit") - public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){ + public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){ log.debug("【快手图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); creatorProfitService.insertInvitedProfit(dto.extractParam()); return AjaxResult.success(); 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 d443dc3..b32865a 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 @@ -207,18 +207,26 @@ public class TiktokMiniController extends BaseController { return getDataTable(tiktokImgVos); } + //@TokenCheck + @ApiOperation(value="检查某平台用户当日下载次数是否超标") + @PostMapping(value = "/checkUserCanDownload") + public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ + log.debug("【抖音图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + } + //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ log.debug("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam())); + return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto)); } //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账邀请收益") @PostMapping(value = "/insertOrUpdatePreInviteProfit") - public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){ + public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){ log.debug("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); creatorProfitService.insertInvitedProfit(dto.extractParam()); return AjaxResult.success(); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 7cba15a..ed219ee 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -197,18 +197,26 @@ public class WxMiniController extends BaseController { return getDataTable(tiktokImgVos); } + //@TokenCheck + @ApiOperation(value="检查某平台用户当日下载次数是否超标") + @PostMapping(value = "/checkUserCanDownload") + public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ + log.debug("【微信图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + } + //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ log.debug("【微信图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam())); + return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto)); } //@TokenCheck @ApiOperation(value="新增/更新艺术家即将入账邀请收益") @PostMapping(value = "/insertOrUpdatePreInviteProfit") - public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){ + public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){ log.debug("【微信图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); creatorProfitService.insertInvitedProfit(dto.extractParam()); return AjaxResult.success(); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java index 98251d3..8b1d41d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java @@ -1,7 +1,5 @@ package com.bnyer.img.dto; -import com.bnyer.common.core.utils.bean.BeanUtils; -import com.bnyer.img.domain.CreatorProfit; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -37,9 +35,7 @@ public class CreatorProfitAdInsertDto implements Serializable { @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; - public CreatorProfit extractParam(){ - CreatorProfit creatorProfit = new CreatorProfit(); - BeanUtils.copyProperties(this, creatorProfit); - return creatorProfit; - } + @NotNull(message = "用户id不能为空!") + @ApiModelProperty(value="用户id") + private Long userId; } 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 new file mode 100644 index 0000000..65ab180 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java @@ -0,0 +1,45 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.utils.bean.BeanUtils; +import com.bnyer.img.domain.CreatorProfit; +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; + + +@Getter +@Setter +@ApiModel("艺术家新增更新邀请收益接收类") +public class CreatorProfitInviteInsertDto implements Serializable { + + @NotNull(message = "艺术家id不能为空!") + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + @NotBlank(message = "收益人搜索码不能为空!") + @ApiModelProperty(value="收益人搜索码") + private String scanCode; + + @NotNull(message = "图片id不能为空!") + @ApiModelProperty(value="图片id") + private Long imgId; + + @NotBlank(message = "结算平台不能为空!") + @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") + private String platform; + + @NotBlank(message = "应用类型不能为空!") + @ApiModelProperty(value="应用类型(0->节点壁纸)") + private String appType; + + public CreatorProfit extractParam(){ + CreatorProfit creatorProfit = new CreatorProfit(); + BeanUtils.copyProperties(this, creatorProfit); + return creatorProfit; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java new file mode 100644 index 0000000..1e3742c --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java @@ -0,0 +1,27 @@ +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.NotNull; +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("检查用户下载次数接收类") +public class checkUserCanDownloadDto implements Serializable { + + @ApiModelProperty(value="用户id") + private Long userId; + + @NotNull(message = "平台不能为空!") + @ApiModelProperty(value="平台") + private String platform; + + @NotNull(message = "应用不能为空!") + @ApiModelProperty(value="应用") + private String appType; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java index d61fd4d..adf13ca 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java @@ -60,4 +60,12 @@ public interface TiktokImgMapper extends BaseMapper { * @return - */ List queryImgsByScanCodeAndTypeId(@Param("scanCode") String scanCode,@Param("typeId") Long typeId); + + /** + * 查询艺术家分类图片数量 + * @param typeId 类型id + * @param creatorId 艺术家id + * @return - + */ + Integer queryCreatorTypeImgNum(@Param("typeId") Long typeId,@Param("creatorId") Long creatorId); } 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 bc9cc56..10569fc 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,6 +1,7 @@ package com.bnyer.img.service; import com.bnyer.img.domain.CreatorProfit; +import com.bnyer.img.dto.CreatorProfitAdInsertDto; import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.dto.ProfitInOrEndDto; import com.bnyer.img.vo.*; @@ -23,10 +24,10 @@ public interface CreatorProfitService { /** * 新增或更新广告收益记录 - * @param creatorProfit 广告收益参数 + * @param params 广告收益参数 * @return - */ - int insertCreatorProfit(CreatorProfit creatorProfit); + int insertCreatorProfit(CreatorProfitAdInsertDto params); /** * 新增或更新邀请收益 @@ -90,6 +91,11 @@ public interface CreatorProfitService { */ void batchUpdateConfirmType(); + /** + * 批量删除昨日用户下载次数 + */ + void batchDeleteUserDownloadNum(); + /** * 小程序查询收益信息 @@ -169,6 +175,16 @@ public interface CreatorProfitService { /** * 批量更新收益单状态为转入钱包 * @param list 订单列表 + * @return - */ int batchUpdate(List list); + + /** + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 + * @return - + */ + boolean checkUserCanDownload(Long userId,String platform,String appType); } 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 18b54d0..361f0b4 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 @@ -2,6 +2,7 @@ package com.bnyer.img.service; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.TiktokImgPageDto; +import com.bnyer.img.vo.CreatorTypeImgVo; import com.bnyer.img.vo.TiktokImgVo; import java.util.List; @@ -115,4 +116,11 @@ public interface TiktokImgService { * @return - */ List queryImgsByScanCodeAndTypeId(String scanCode,Long typeId); + + /** + * 查询艺术家分类图片数量 + * @param creatorId 艺术家id + * @return - + */ + CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId); } 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 5ffe257..8f6541e 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 @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.redis.service.RedisService; import com.bnyer.common.redis.service.RedissonService; +import com.bnyer.img.constants.RedisKeyConstant; import com.bnyer.img.domain.CreatorProfit; import com.bnyer.img.domain.InviteLog; +import com.bnyer.img.dto.CreatorProfitAdInsertDto; import com.bnyer.img.dto.CreatorProfitPageDto; import com.bnyer.img.dto.ProfitInOrEndDto; import com.bnyer.img.mapper.CreatorProfitMapper; @@ -54,16 +56,33 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } } + /** + * 写入下载次数 + * @param appType 应用 + * @param platform 平台 + * @param userId 用户id + */ + private void writePlatformUserDownloadNum(String appType,String platform,Long userId){ + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + log.info("日期【{}】应用【{}】平台【{}】用户【{}】下载数+1",date,appType,platform,userId); + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + redisService.hashIncr(redisKey, hashKey, 1); + } + @Override @Transactional(rollbackFor = Exception.class) - public int insertCreatorProfit(CreatorProfit creatorProfit) { + public int insertCreatorProfit(CreatorProfitAdInsertDto params) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); long times = System.currentTimeMillis(); String date = format.format(times); - String mark = creatorProfit.getCreatorId().toString() + creatorProfit.getImgId().toString() + creatorProfit.getAppType() + creatorProfit.getPlatform() + + String mark = params.getCreatorId().toString() + params.getImgId().toString() + params.getAppType() + params.getPlatform() + "0" + date.replace("-", ""); //缓存中下载总数+1 - tiktokImgService.writeDownloadTotalNum(creatorProfit.getAppType(), creatorProfit.getPlatform()); + tiktokImgService.writeDownloadTotalNum(params.getAppType(), params.getPlatform()); + //redis累计平台用户当天下载次数,12.00后过期 + writePlatformUserDownloadNum(params.getAppType(), params.getPlatform(), params.getUserId()); //检查收益表是否存在广告记录,存在则更新次数 boolean b = this.checkCreatorProfitExist(mark); if (b) { @@ -72,6 +91,12 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { return update; } //不存在则新增广告记录 + CreatorProfit creatorProfit = new CreatorProfit(); + creatorProfit.setCreatorId(params.getCreatorId()); + creatorProfit.setScanCode(params.getScanCode()); + creatorProfit.setImgId(params.getImgId()); + creatorProfit.setPlatform(params.getPlatform()); + creatorProfit.setAppType(params.getAppType()); creatorProfit.setCreateTime(new Date()); creatorProfit.setUpdateTime(new Date()); creatorProfit.setType("0"); @@ -81,7 +106,7 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { creatorProfit.setDownloadNum(1); creatorProfit.setMark(mark); //根据平台生成订单号 - switch (creatorProfit.getPlatform()) { + switch (params.getPlatform()) { case "0": creatorProfit.setOrderNo("DY" + IdUtil.getSnowflakeNextIdStr()); break; @@ -231,6 +256,21 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { log.info("==============批量更新艺术家收益状态完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); } + @Override + public void batchDeleteUserDownloadNum() { + log.info("==============批量删除昨日用户下载次数开始!==============="); + long startTime = System.currentTimeMillis(); + //获取昨日日期 + Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String date = simpleDateFormat.format(yesterday); + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + if(redisService.hasKey(redisKey)){ + redisService.deleteObject(redisKey); + } + log.info("==============批量删除昨日用户下载次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); + } + @Override public ProfitVo queryFrontProfitInfo(Long creatorId) { //累计收益 @@ -319,4 +359,24 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public int batchUpdate(List list) { return creatorProfitMapper.batchUpdateTransInfo(list); } + + @Override + public boolean checkUserCanDownload(Long userId, String platform, String appType) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,hashKey)){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey); + if(downloadNum >= 5){ + return true; + }else{ + return false; + } + }else{ + //不存在键则可下载 + return false; + } + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 4ce856c..d244f14 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -23,10 +23,7 @@ import com.bnyer.img.mapper.InviteLogMapper; import com.bnyer.img.mapper.TiktokImgMapper; import com.bnyer.img.mapper.VerifyLogMapper; import com.bnyer.img.service.CreatorService; -import com.bnyer.img.vo.CreatorDetailsVo; -import com.bnyer.img.vo.CreatorHotVo; -import com.bnyer.img.vo.CreatorLoginVo; -import com.bnyer.img.vo.CreatorVo; +import com.bnyer.img.vo.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; 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 ce32b8d..fe7e661 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 @@ -13,6 +13,7 @@ import com.bnyer.img.mapper.TiktokCollectionMapper; import com.bnyer.img.mapper.TiktokImgMapper; import com.bnyer.img.mapper.TiktokLikeMapper; import com.bnyer.img.service.TiktokImgService; +import com.bnyer.img.vo.CreatorTypeImgVo; import com.bnyer.img.vo.TiktokImgVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -189,4 +190,22 @@ public class TiktokImgServiceImpl implements TiktokImgService { public List queryImgsByScanCodeAndTypeId(String scanCode, Long typeId) { return tiktokImgMapper.queryImgsByScanCodeAndTypeId(scanCode,typeId); } + + @Override + public CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId) { + Integer headNum = tiktokImgMapper.queryCreatorTypeImgNum(1L, creatorId); + Integer gifNum = tiktokImgMapper.queryCreatorTypeImgNum(2L, creatorId); + Integer backNum = tiktokImgMapper.queryCreatorTypeImgNum(3L, creatorId); + Integer friendNum = tiktokImgMapper.queryCreatorTypeImgNum(4L, creatorId); + Integer emoNum = tiktokImgMapper.queryCreatorTypeImgNum(5L, creatorId); + Integer watchNum = tiktokImgMapper.queryCreatorTypeImgNum(6L, creatorId); + CreatorTypeImgVo result = new CreatorTypeImgVo(); + result.setHeadNum(headNum); + result.setGifNum(gifNum); + result.setBackNum(backNum); + result.setFriendNum(friendNum); + result.setEmoNum(emoNum); + result.setWatchNum(watchNum); + return result; + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java index f9f5f37..89148ec 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** + * 同步用户收藏记录任务 * @author chengkun * @date 2022/5/12 18:13 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java index 669fbb0..8221cd0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** + * 更新艺术家收益状态任务 * @author chengkun * @date 2022/5/12 18:13 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java index 7ab7b44..c62ebd8 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** + * 同步点赞任务 * @author chengkun * @date 2022/5/12 18:13 */ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java new file mode 100644 index 0000000..1d31f96 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -0,0 +1,29 @@ +package com.bnyer.img.task; + +import com.bnyer.img.service.CreatorProfitService; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.xxl.job.core.log.XxlJobLogger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 同步删除昨日用户下载次数任务 + * @author chengkun + * @date 2022/5/12 18:13 + */ +@Component +@Slf4j +public class UserDownloadSyncTask { + + @Autowired + private CreatorProfitService creatorProfitService; + + @XxlJob("userDownloadSyncTask") + public ReturnT syncUserDownload(String param) throws Exception { + creatorProfitService.batchDeleteUserDownloadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + return ReturnT.SUCCESS; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java new file mode 100644 index 0000000..978e5b0 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java @@ -0,0 +1,35 @@ +package com.bnyer.img.vo; + +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 CreatorTypeImgVo implements Serializable { + + @ApiModelProperty(value="头像数量") + private Integer headNum; + + @ApiModelProperty(value="gif动图数量") + private Integer gifNum; + + @ApiModelProperty(value="手机壁纸数量") + private Integer backNum; + + @ApiModelProperty(value="朋友圈背景数量") + private Integer friendNum; + + @ApiModelProperty(value="表情包数量") + private Integer emoNum; + + @ApiModelProperty(value="iwatch数量") + private Integer watchNum; + + private static final long serialVersionUID = 1L; +} diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml index ae4463c..aae6a2d 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml @@ -93,4 +93,12 @@ where iti.is_show = '1' and iti.status = '1' and ic.scan_code = #{scanCode} and iti.type_id = #{typeId} + + From f01d913a03ad946ecaf2208b505358b19ca1aadc Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Mon, 11 Jul 2022 18:28:22 +0800 Subject: [PATCH 15/32] =?UTF-8?q?feature1.0.0-img:=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=89=BA=E6=9C=AF=E5=AE=B6bug=EF=BC=8C=E6=96=B0=E5=A2=9Esign?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/img/controller/SignController.java | 70 ++++++++++++++++++- .../img/controller/TiktokMiniController.java | 8 +-- .../main/java/com/bnyer/img/dto/SignDto.java | 29 ++++++++ .../com/bnyer/img/service/SignService.java | 11 ++- .../img/service/impl/CreatorServiceImpl.java | 24 +++++-- .../img/service/impl/SignServiceImpl.java | 23 ++++-- .../com/bnyer/img/mapper/CreatorMapper.xml | 4 +- 7 files changed, 138 insertions(+), 31 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java index 07cc83d..4177b98 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java @@ -1,14 +1,80 @@ 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.Sign; +import com.bnyer.img.dto.SignDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.dto.StatusDto; +import com.bnyer.img.service.SignService; +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.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +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/sign") @Slf4j public class SignController extends BaseController { + + @Autowired + private SignService signService; + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询sign分页") + @PostMapping("/page") + public TableDataInfo pageSign(@RequestBody @ApiParam("分页对象") SignPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List signs = signService.queryPage(dto); + return getDataTable(signs); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="新增sign") + @PostMapping(value = "/insert") + public AjaxResult insertSign(@Validated @RequestBody @ApiParam("sign对象") SignDto dto){ + log.debug("【图文平台后台】新增sign参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(signService.insert(dto.extractParam())); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="修改sign") + @PostMapping(value = "/update") + public AjaxResult updateSign(@Validated @RequestBody @ApiParam("sign对象")SignDto dto){ + log.debug("【图文平台后台】修改sign参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(signService.update(dto.extractParam())); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="删除sign") + @DeleteMapping(value = "/delete/{ids}") + public AjaxResult deleteSign(@PathVariable @ApiParam("主键ids") List ids){ + log.debug("【图文平台后台】删除sign参数为:{}", JSON.toJSONString(ids)); + return AjaxResult.success(signService.delete(ids)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询sign详情") + @GetMapping(value = "/details/{id}") + public AjaxResult detailsSign(@PathVariable @ApiParam("主键id") Long id){ + log.debug("【图文平台后台】查询sign详情参数为:{}", id); + return AjaxResult.success(signService.queryDetails(id)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="变更type显示状态") + @PostMapping(value = "/changeStatus") + public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("type状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更type参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(signService.changeStatus(dto.getId(),dto.getStatus())); + } } 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 b32865a..c25fdfa 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 @@ -99,14 +99,8 @@ public class TiktokMiniController extends BaseController { @PostMapping(value = "/creatorImgsPage") public TableDataInfo creatorImgsPage(@RequestBody @ApiParam("分页对象") BasePageDto dto){ PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); - //List list = new ArrayList<>(); List creatorVos = creatorService.queryThreeImgCreatorList(); -// for (CreatorVo creatorVo : creatorVos) { -// if(CollectionUtil.isNotEmpty(creatorVo.getImgList())){ -// list.add(creatorVo); -// } -// } - //TODO 此处图片列表为空时,去除为空的部分分页会有BUG + //TODO 此处图片列表为空时,去除为空的部分分页会有BUG,此处改为了老的数据会优先排列,暂时解决了问题 return getDataTable(creatorVos); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java new file mode 100644 index 0000000..1db0b21 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java @@ -0,0 +1,29 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.utils.bean.BeanUtils; +import com.bnyer.img.domain.Sign; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("sign接收类") +public class SignDto implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="标签名称") + private String name; + + public Sign extractParam(){ + Sign sign = new Sign(); + BeanUtils.copyProperties(this,sign); + return sign; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index 5f1d2b8..edc20a7 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -1,18 +1,15 @@ package com.bnyer.img.service; -import com.bnyer.img.domain.Banner; import com.bnyer.img.domain.Sign; -import com.bnyer.img.dto.BannerPageDto; import com.bnyer.img.dto.SignPageDto; -import com.bnyer.img.vo.BannerVo; import java.util.List; public interface SignService { /** * 新增Sign - * @param sign - * @return + * @param sign 标签 + * @return - */ int insert(Sign sign); @@ -45,11 +42,11 @@ public interface SignService { Sign queryDetails(Long id); /** - * 查询小程序sign列表 + * 查询sign是否重复 * @param name 标签名字 * @return - */ - List queryList(String name); + boolean checkSign(String name); /** * 变更显示状态 diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index d244f14..64e64c5 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -1,5 +1,6 @@ package com.bnyer.img.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.exception.ServiceException; @@ -32,10 +33,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; /** @@ -186,7 +184,14 @@ public class CreatorServiceImpl implements CreatorService { @Override public List queryThreeImgCreatorList() { - return creatorMapper.queryThreeImgCreatorList(); + List creatorVos = creatorMapper.queryThreeImgCreatorList(); + List list = new ArrayList<>(); + for (CreatorVo creatorVo : creatorVos) { + if(CollectionUtil.isNotEmpty(creatorVo.getImgList())){ + list.add(creatorVo); + } + } + return list; } @Override @@ -303,7 +308,14 @@ public class CreatorServiceImpl implements CreatorService { @Override public List queryHotCreatorList() { - return creatorMapper.queryHotCreatorList(); + List creatorHotVos = creatorMapper.queryHotCreatorList(); + List list = new ArrayList<>(); + for (CreatorHotVo creatorHotVo : creatorHotVos) { + if(creatorHotVo.getHotNum() > 0){ + list.add(creatorHotVo); + } + } + return list; } @Override diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index ef310a5..8ce4f29 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -3,6 +3,7 @@ package com.bnyer.img.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.utils.StringUtils; import com.bnyer.img.domain.Banner; import com.bnyer.img.domain.Sign; @@ -24,18 +25,21 @@ import java.util.List; public class SignServiceImpl implements SignService { @Autowired private SignMapper signMapper; + @Autowired private ImgSignRelationServiceImpl imgSignRelationService; + @Override @Transactional(rollbackFor = Exception.class) public int insert(Sign sign) { - List signs = queryList(sign.getName()); - if (signs.size()<=0){ + boolean b = checkSign(sign.getName()); + if(b){ + throw new ServiceException("标签名称已存在!"); + }else{ sign.setCreateTime(new Date()); sign.setUpdateTime(new Date()); return signMapper.insert(sign); } - return 0; } @Override @@ -74,10 +78,15 @@ public class SignServiceImpl implements SignService { } @Override - public List queryList(String name) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("name",name); - return signMapper.selectList(wrapper); + public boolean checkSign(String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Sign::getName,name); + List signs = signMapper.selectList(wrapper); + if(signs.size() > 0){ + return true; + }else{ + return false; + } } @Override 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 3237fe2..c8569af 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 @@ -65,7 +65,7 @@ (select sum(collection_num) from img_tiktok_img where creator_id = ic.id) as imgCollectionNum from img_creator ic where ic.is_show = '1' and ic.status = '1' - order by ic.create_time desc + order by ic.create_time asc select ic.id,ic.scan_code,ic.is_hot,ic.img, - (select sum(download_num+great_num+collection_num) from img_tiktok_img where creator_id = ic.id) as hotNum + ifnull((select sum(download_num+great_num+collection_num) from img_tiktok_img where creator_id = ic.id),0) as hotNum from img_creator ic where ic.status = '1' and ic.is_show = '1' order by hotNum desc limit 10 From 2c2fcf91b62c4e6696095eaf950fb9e248478192 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Mon, 11 Jul 2022 23:55:06 +0800 Subject: [PATCH 16/32] =?UTF-8?q?feature-img-1.0.0:=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=A0=E9=99=A4=E5=8F=82=E6=95=B0=E4=B8=BA?= =?UTF-8?q?requestBody?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/controller/SysFileController.java | 6 ++++-- .../java/com/bnyer/file/dto/FileUrlDto.java | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 4fa9161..f002008 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -5,6 +5,7 @@ import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; +import com.bnyer.file.dto.FileUrlDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.MinioService; @@ -12,6 +13,7 @@ import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.vo.ChekFileVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.poi.util.IOUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -83,8 +85,8 @@ public class SysFileController { } @ApiOperation(value="文件删除") @PostMapping("/deleteFile") - public R deleteFile(@RequestParam String url) throws IOException { - String res = qiniuService.deleteFile(url); + public R deleteFile(@RequestBody @ApiParam("上传url对象") FileUrlDto params) throws IOException { + String res = qiniuService.deleteFile(params.getUrl()); // 上传并返回访问地址 return R.ok(res); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java new file mode 100644 index 0000000..cd50b2e --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java @@ -0,0 +1,20 @@ +package com.bnyer.file.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * @Author chengkun + * @Date 2022/7/10 16:37 + * @Description + */ +@Getter +@Setter +@ApiModel("文件url地址") +public class FileUrlDto implements Serializable { + + private String url; +} From ae9c3fe71a8ab08462d14c04fa6df37c7c1feec3 Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Tue, 12 Jul 2022 18:22:42 +0800 Subject: [PATCH 17/32] =?UTF-8?q?feature1.0.0-img:=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=BD=AC=E5=85=A5=E9=92=B1=E5=8C=85=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/CreatorMiniController.java | 7 +++++++ .../bnyer/img/mapper/CreatorProfitMapper.java | 8 ++++++++ .../img/service/CreatorProfitService.java | 7 +++++++ .../impl/CreatorProfitServiceImpl.java | 5 +++++ .../bnyer/img/mapper/CreatorProfitMapper.xml | 19 +++++++++++++++---- 5 files changed, 42 insertions(+), 4 deletions(-) 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 2087bfb..84055a2 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 @@ -279,6 +279,13 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType())); } + //@TokenCheck + @ApiOperation(value="查询指定艺术家转入钱包收益详情") + @GetMapping(value = "/queryFrontEndAmtDetails/{id}") + public AjaxResult queryFrontEndAmtDetails(@PathVariable @ApiParam("收益id") Long id){ + return AjaxResult.success(creatorProfitService.queryFrontEndAmtDetails(id)); + } + //@TokenCheck @ApiOperation(value="查询指定艺术家收益统计") @GetMapping(value = "/queryFrontProfitInfo/{creatorId}") 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 0c98e38..9c58ff6 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 @@ -171,4 +171,12 @@ public interface CreatorProfitMapper extends BaseMapper { * @return - */ BigDecimal queryLastDayInviteProfit(@Param("creatorId") Long creatorId); + + /** + * 查询转入钱包收益详情 + * @param id 收益id + * @return - + */ + CreatorProfitEndAmtVo queryFrontEndAmtDetails(@Param("id") Long id); + } 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 10569fc..c566413 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 @@ -187,4 +187,11 @@ public interface CreatorProfitService { * @return - */ boolean checkUserCanDownload(Long userId,String platform,String appType); + + /** + * 查询转入钱包收益详情 + * @param id 收益id + * @return - + */ + CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); } 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 8f6541e..b0c0fc7 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 @@ -379,4 +379,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { return false; } } + + @Override + public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) { + return creatorProfitMapper.queryFrontEndAmtDetails(id); + } } 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 2fbd5e9..1d02a69 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 @@ -48,10 +48,10 @@ select - sum(download_num) as inviteDownloadNum,create_time as createTime + sum(download_num) as inviteDownloadNum,DATE_FORMAT(create_time,'%Y-%m-%d') as createTime from img_creator_profit where creator_id = #{creatorId} and status = '0' and is_show = '1' and type = '1' - group by create_time + group by DATE_FORMAT(create_time,'%Y-%m-%d') + + From 7120720e44fa7981d9c443a8622d9c18a4b59577 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 12 Jul 2022 23:03:03 +0800 Subject: [PATCH 18/32] =?UTF-8?q?feature-img-1.0.0:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=8F=90=E7=8E=B0=E8=AE=B0=E5=BD=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/CreatorMiniController.java | 29 +++++++++++-------- .../img/dto/CreatorInviteLogPageDto.java | 21 ++++++++++++++ .../bnyer/img/dto/CreatorWithdrawPageDto.java | 21 ++++++++++++++ .../com/bnyer/img/dto/WithdrawOrderDto.java | 2 +- .../service/impl/WithdrawLogServiceImpl.java | 25 ++++++++++++++-- .../java/com/bnyer/img/vo/InviteLogVo.java | 3 ++ .../com/bnyer/img/mapper/InviteLogMapper.xml | 2 +- 7 files changed, 87 insertions(+), 16 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java 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 84055a2..4a192bf 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 @@ -3,10 +3,12 @@ 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.constants.TiktokConstant; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; +import com.github.pagehelper.PageHelper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -175,17 +177,19 @@ public class CreatorMiniController extends BaseController { //@TokenCheck @ApiOperation(value="查询公告列表") - @GetMapping(value = "/getNoticeList") - public AjaxResult getNoticeList(){ - return AjaxResult.success(noticeService.queryList()); + @PostMapping(value = "/getNoticeList") + public TableDataInfo getNoticeList(@RequestBody @ApiParam("分页参数") BasePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + return getDataTable(noticeService.queryList()); } //@TokenCheck @ApiOperation(value="查询邀请记录") - @GetMapping(value = "/getInviteLog/{creatorId}") - public AjaxResult getInviteLog(@PathVariable @ApiParam("艺术家id") Long creatorId){ - log.info("【艺术家小程序】查询艺术家id:【{}】邀请记录:",creatorId); - return AjaxResult.success(inviteLogService.queryFrontList(creatorId)); + @PostMapping(value = "/getInviteLog") + public TableDataInfo getInviteLog(@RequestBody @ApiParam("艺术家分页对象") CreatorInviteLogPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + log.info("【艺术家小程序】查询艺术家id:【{}】邀请记录:",dto.getCreatorId()); + return getDataTable(inviteLogService.queryFrontList(dto.getCreatorId())); } //@TokenCheck @@ -197,11 +201,12 @@ public class CreatorMiniController extends BaseController { } //@TokenCheck - @ApiOperation(value="查询指定艺术家提现记录列表") - @GetMapping(value = "/getWithdrawList/{creatorId}") - public AjaxResult getWithdrawList(@PathVariable @ApiParam("艺术家id") Long creatorId){ - log.info("【艺术家小程序】查询指定艺术家id【{}】提现记录列表",creatorId); - return AjaxResult.success(withdrawLogService.queryFrontList(creatorId)); + @ApiOperation(value="查询指定艺术家提现记录分页") + @PostMapping(value = "/getWithdrawList") + public TableDataInfo getWithdrawList(@RequestBody @ApiParam("艺术家对象") CreatorWithdrawPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + log.info("【艺术家小程序】查询指定艺术家id【{}】提现记录列表",dto.getCreatorId()); + return getDataTable(withdrawLogService.queryFrontList(dto.getCreatorId())); } //@TokenCheck diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java new file mode 100644 index 0000000..826a62e --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java @@ -0,0 +1,21 @@ +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.NotNull; + + +@Getter +@Setter +@ApiModel("艺术家邀请记录分页接收类") +public class CreatorInviteLogPageDto extends BasePageDto { + + @NotNull(message = "艺术家id不能为空!") + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java new file mode 100644 index 0000000..e30ef7a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java @@ -0,0 +1,21 @@ +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.NotNull; + + +@Getter +@Setter +@ApiModel("艺术家提现记录分页接收类") +public class CreatorWithdrawPageDto extends BasePageDto { + + @NotNull(message = "艺术家id不能为空!") + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java index b08eedb..e7e5b0f 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java @@ -10,7 +10,7 @@ import java.io.Serializable; @Getter @Setter -@ApiModel("notice分页接收类") +@ApiModel("提现记录明细接收类") public class WithdrawOrderDto implements Serializable { @NotBlank(message = "订单id不能为空!") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java index d83322c..e3e1e96 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java @@ -139,12 +139,33 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { @Override public List queryFrontList(Long creatorId) { - return withdrawLogMapper.queryFrontList(creatorId); + List withdrawLogVos = withdrawLogMapper.queryFrontList(creatorId); + if(withdrawLogVos.size() > 0){ + for (WithdrawLogVo withdrawLogVo : withdrawLogVos) { + if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){ + withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone())); + } + if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){ + withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo())); + } + JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class); + } + } + + return withdrawLogVos; } @Override public WithdrawLogVo queryFrontDetails(String orderId) { - return withdrawLogMapper.queryFrontDetails(orderId); + WithdrawLogVo withdrawLogVo = withdrawLogMapper.queryFrontDetails(orderId); + if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){ + withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone())); + } + if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){ + withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo())); + } + JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class); + return withdrawLogVo; } /** diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java index d1d18f4..b7331df 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java @@ -28,6 +28,9 @@ public class InviteLogVo implements Serializable { @ApiModelProperty(value="被邀请者搜索码") private String invitedScanCode; + @ApiModelProperty(value="被邀请者头像") + private String img; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value="邀请时间") private String createTime; diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml index 416610c..7de3e60 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml @@ -22,7 +22,7 @@ select iil.id as id,iil.creator_id as creatorId,iil.invite_code as inviteCode, iil.invited_creator_id as invitedCreatorId,ic.scan_code as invitedScanCode, - iil.create_time as createTime + ic.img as img,iil.create_time as createTime from img_invite_log iil join img_creator ic on iil.invited_creator_id = ic.id where iil.is_show = '1' and iil.creator_id = #{creatorId} From f9bbe9855f91b43ecab36fb0ecd2b40388c64fad Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Wed, 13 Jul 2022 14:13:12 +0800 Subject: [PATCH 19/32] feature1.0.0-img:fix bug --- .../img/controller/CreatorMiniController.java | 15 +++++++++------ .../java/com/bnyer/img/dto/ProfitStatusDto.java | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) 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 4a192bf..4408132 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 @@ -252,8 +252,9 @@ public class CreatorMiniController extends BaseController { //@TokenCheck @ApiOperation(value="查询指定艺术家即将入账收益列表") @PostMapping(value = "/queryFrontPreProfit") - public AjaxResult queryFrontPreProfit(@Validated @RequestBody @ApiParam("即将入账对象") ProfitStatusDto params){ - return AjaxResult.success(creatorProfitService.queryFrontPreProfit(params.getCreatorId(),params.getType())); + public TableDataInfo queryFrontPreProfit(@Validated @RequestBody @ApiParam("即将入账对象") ProfitStatusDto params){ + PageHelper.startPage(params.getPageNum(), params.getPageSize()); + return getDataTable(creatorProfitService.queryFrontPreProfit(params.getCreatorId(),params.getType())); } //@TokenCheck @@ -266,8 +267,9 @@ public class CreatorMiniController extends BaseController { //@TokenCheck @ApiOperation(value="查询指定艺术家已入账收益列表") @PostMapping(value = "/queryFrontInProfitAmt") - public AjaxResult queryFrontInProfitAmt(@Validated @RequestBody @ApiParam("已入账对象") ProfitStatusDto params){ - return AjaxResult.success(creatorProfitService.queryFrontInProfitAmt(params.getCreatorId(),params.getType())); + public TableDataInfo queryFrontInProfitAmt(@Validated @RequestBody @ApiParam("已入账对象") ProfitStatusDto params){ + PageHelper.startPage(params.getPageNum(), params.getPageSize()); + return getDataTable(creatorProfitService.queryFrontInProfitAmt(params.getCreatorId(),params.getType())); } //@TokenCheck @@ -280,8 +282,9 @@ public class CreatorMiniController extends BaseController { //@TokenCheck @ApiOperation(value="查询指定艺术家转入钱包收益列表") @PostMapping(value = "/queryFrontEndProfitAmt") - public AjaxResult queryFrontEndProfitAmt(@Validated @RequestBody @ApiParam("转入钱包对象") ProfitStatusDto params){ - return AjaxResult.success(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType())); + public TableDataInfo queryFrontEndProfitAmt(@Validated @RequestBody @ApiParam("转入钱包对象") ProfitStatusDto params){ + PageHelper.startPage(params.getPageNum(), params.getPageSize()); + return getDataTable(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType())); } //@TokenCheck diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java index 79d0216..7583942 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java @@ -13,7 +13,7 @@ import java.io.Serializable; @Getter @Setter @ApiModel("入账类型接收类") -public class ProfitStatusDto implements Serializable { +public class ProfitStatusDto extends BasePageDto { @NotNull(message = "艺术家id不能为空!") @ApiModelProperty(value="艺术家id") From ed1a804ff242c4707370648baeb2aea68cc5a3eb Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Thu, 14 Jul 2022 09:30:32 +0800 Subject: [PATCH 20/32] =?UTF-8?q?feature1.0.0-img:=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8A=E4=B8=8B=E6=9E=B6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/constants/StatusImgConstant.java | 33 +++++++++++++++++++ .../img/controller/CreatorMiniController.java | 10 ++++++ .../bnyer/img/service/TiktokImgService.java | 8 +++++ .../img/service/impl/CreatorServiceImpl.java | 6 ++-- .../service/impl/TiktokImgServiceImpl.java | 21 ++++++++++++ .../java/com/bnyer/img/vo/TiktokImgVo.java | 2 +- .../img/mapper/TiktokCollectionMapper.xml | 2 +- .../com/bnyer/img/mapper/TiktokImgMapper.xml | 12 +++---- 8 files changed, 82 insertions(+), 12 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java new file mode 100644 index 0000000..d8c1c55 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java @@ -0,0 +1,33 @@ +package com.bnyer.img.constants; + +/** + * 平台常量 + * @author chengkun + * @date 2022/4/21 18:12 + */ +public class StatusImgConstant { + /** + * 待审核 + */ + public static final String UNCHECK = "0"; + + /** + * 审核通过 + */ + public static final String PASS = "1"; + + /** + * 审核拒绝 + */ + public static final String UNPASS = "2"; + + /** + * 已上架 + */ + public static final String ONLINE = "3"; + + /** + * 已下架 + */ + public static final String OFFLINE = "4"; +} 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 4408132..7797aa5 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 @@ -316,4 +316,14 @@ public class CreatorMiniController extends BaseController { public AjaxResult queryCreatorTypeImgNum(@PathVariable @ApiParam("艺术家id") Long creatorId){ return AjaxResult.success(tiktokImgService.queryCreatorTypeImgNum(creatorId)); } + + //@TokenCheck + @PostMapping("/onlineOrOfflineImg") + @ApiOperation("小程序艺术家上下架图片") + public AjaxResult onlineOrOfflineImg(@Validated @ApiParam("艺术家图片数据") @RequestBody StatusDto param) + { + log.info("小程序艺术家上下架图片参数为:{}", JSON.toJSON(param)); + return AjaxResult.success(tiktokImgService.onlineOrOfflineImg(param)); + } + } 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 361f0b4..956fc4a 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 @@ -1,6 +1,7 @@ package com.bnyer.img.service; import com.bnyer.img.domain.TiktokImg; +import com.bnyer.img.dto.StatusDto; import com.bnyer.img.dto.TiktokImgPageDto; import com.bnyer.img.vo.CreatorTypeImgVo; import com.bnyer.img.vo.TiktokImgVo; @@ -123,4 +124,11 @@ public interface TiktokImgService { * @return - */ CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId); + + /** + * 艺术家上下架图片 + * @param param 图片参数 + * @return - + */ + int onlineOrOfflineImg(StatusDto param); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 64e64c5..b140446 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -10,15 +10,13 @@ import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.redis.service.RedisService; import com.bnyer.img.config.WxConfig; import com.bnyer.img.constants.RedisKeyConstant; +import com.bnyer.img.constants.StatusImgConstant; import com.bnyer.img.constants.TiktokConstant; import com.bnyer.img.domain.Creator; import com.bnyer.img.domain.InviteLog; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.VerifyLog; -import com.bnyer.img.dto.CreatorDto; -import com.bnyer.img.dto.CreatorLoginDto; -import com.bnyer.img.dto.CreatorPageDto; -import com.bnyer.img.dto.VerifyCreatorDto; +import com.bnyer.img.dto.*; import com.bnyer.img.mapper.CreatorMapper; import com.bnyer.img.mapper.InviteLogMapper; import com.bnyer.img.mapper.TiktokImgMapper; 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 fe7e661..4c587a0 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 @@ -5,9 +5,11 @@ 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.constants.StatusImgConstant; import com.bnyer.img.domain.TiktokCollection; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.TiktokLike; +import com.bnyer.img.dto.StatusDto; import com.bnyer.img.dto.TiktokImgPageDto; import com.bnyer.img.mapper.TiktokCollectionMapper; import com.bnyer.img.mapper.TiktokImgMapper; @@ -208,4 +210,23 @@ public class TiktokImgServiceImpl implements TiktokImgService { result.setWatchNum(watchNum); return result; } + + @Override + @Transactional(rollbackFor = Exception.class) + public int onlineOrOfflineImg(StatusDto param) { + TiktokImg img = new TiktokImg(); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + if(param.getStatus().equals(StatusImgConstant.ONLINE)){ + img.setStatus(StatusImgConstant.ONLINE); + wrapper.eq(TiktokImg::getId, param.getId()); + return tiktokImgMapper.update(img, wrapper); + }else if(param.getStatus().equals(StatusImgConstant.OFFLINE)){ + img.setStatus(StatusImgConstant.OFFLINE); + wrapper.eq(TiktokImg::getId, param.getId()); + return tiktokImgMapper.update(img, wrapper); + }else{ + return 0; + } + } + } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java index bb7acd4..255e6a4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java @@ -34,7 +34,7 @@ public class TiktokImgVo implements Serializable { @ApiModelProperty(value="收藏量") private Integer collectionNum; - @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝;3->已上架;4->已下架))") private String status; @ApiModelProperty(value="是否热门(0->冷门;1->热门)") diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokCollectionMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokCollectionMapper.xml index 4cbaee5..da5687c 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokCollectionMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokCollectionMapper.xml @@ -27,7 +27,7 @@ from img_collection itc join img_tiktok_img iti on itc.img_id = iti.id join img_type it on iti.type_id = it.id - where iti.is_show = '1' and it.is_show = '1' and iti.status = '1' and itc.is_show = '1' + where iti.is_show = '1' and it.is_show = '1' and iti.status = '3' and itc.is_show = '1' and itc.user_id = #{userId} and itc.platform = #{platform} order by itc.sort desc diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml index aae6a2d..c6c7740 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml @@ -43,7 +43,7 @@ - + @@ -57,7 +57,7 @@ select id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot from img_tiktok_img - where creator_id = #{creatorId} and is_show = '1' and status = '1' + where creator_id = #{creatorId} and is_show = '1' and status = '3' order by create_time desc limit 3 @@ -66,7 +66,7 @@ select id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot from img_tiktok_img - where creator_id = #{creatorId} and is_show = '1' and status = '1' + where creator_id = #{creatorId} and is_show = '1' and status = '3' order by create_time desc @@ -74,13 +74,13 @@ select id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot from img_tiktok_img - where is_show = '1' and status = '1' and id = #{imgId} + where is_show = '1' and status = '3' and id = #{imgId} From c6e240721ca1909527270e8be0dd1225702cc63c Mon Sep 17 00:00:00 2001 From: qyhdd Date: Fri, 15 Jul 2022 13:35:10 +0800 Subject: [PATCH 21/32] =?UTF-8?q?=E5=85=AB=E5=AD=97=E7=AE=97=E5=91=BD?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/redis/service/RedisService.java | 24 ++++ .../file/service/impl/QiniuServiceImpl.java | 3 +- .../com/bnyer/img/BnyerImgApplication.java | 2 + .../img/controller/BzDataController.java | 110 ++++++++++++++++ .../java/com/bnyer/img/domain/BzData.java | 61 +++++++++ .../main/java/com/bnyer/img/dto/BzDto.java | 35 +++++ .../com/bnyer/img/mapper/BzDataMapper.java | 15 +++ .../com/bnyer/img/service/BzDataService.java | 19 +++ .../img/service/impl/BzDataServiceImpl.java | 124 ++++++++++++++++++ .../java/com/bnyer/img/task/DateSyncTask.java | 60 +++++++++ 10 files changed, 452 insertions(+), 1 deletion(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java diff --git a/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java b/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java index 46e3515..5540dc1 100644 --- a/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java +++ b/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java @@ -327,4 +327,28 @@ public class RedisService Long releaseStatus = (Long)this.redisTemplate.execute(redisScript, Collections.singletonList(key),value); return releaseStatus; } + + /** + * pv统计 + * @param today 统计的日期 + * @param page 统计的页面 + * @return pv + */ + public Long pvStatistics(String today,String page){ + //访问次数pv + return redisTemplate.opsForValue().increment(today +page+"PV", 1); + + } + /** + * uv统计 + * @param today 统计的日期 + * @param page 统计的页面 + * @param ip 进入页面的ip + * @return uv + */ + public Long uvStatistics(String today,String page,String ip){ + //访问次数uv + return redisTemplate.opsForHyperLogLog().add(today + page+"UV", ip); + + } } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java index b52bfa0..337a614 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java @@ -166,7 +166,8 @@ public class QiniuServiceImpl implements IQiniuService { videoSuffixList.add("mp4"); videoSuffixList.add("mov"); videoSuffixList.add("wmv"); - if (suffix != null&&imageSuffixList.contains(suffix)&&multipartFile.getSize() / 1024 < 50000&&multipartFile.getSize() / 1024 > 0) { + long size = multipartFile.getSize(); + if (suffix != null&&imageSuffixList.contains(suffix)&&multipartFile.getSize() / 1024 < 3072&&multipartFile.getSize() / 1024 > 0) { afterCheckFiles.add(multipartFile); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java index 433f48d..be25728 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java @@ -5,6 +5,7 @@ import com.bnyer.common.security.annotation.EnableRyFeignClients; import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; /** * 系统模块 @@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication +@EnableAsync public class BnyerImgApplication { public static void main(String[] args) diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java new file mode 100644 index 0000000..8ea5350 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java @@ -0,0 +1,110 @@ +package com.bnyer.img.controller; + +import cn.hutool.http.server.HttpServerRequest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.bnyer.common.core.domain.R; +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.common.redis.service.RedisService; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.BzData; +import com.bnyer.img.dto.BannerDto; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.BzDto; +import com.bnyer.img.dto.StatusDto; +import com.bnyer.img.service.BannerService; +import com.bnyer.img.service.BzDataService; +import com.github.pagehelper.PageHelper; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.log.XxlJobLogger; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.List; +import java.util.Set; + +@Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口") +@RestController +@RequestMapping("/img/bz") +@Slf4j +public class BzDataController extends BaseController { + + @Autowired + private BzDataService bzDataService; + @Autowired + private RedisService redisService; + //@RequiresPermissions("system:config:list") + @ApiOperation(value = "八字算命") + @PostMapping("/getYs") + public R getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { + JSONObject jsonObject = bzDataService.getYs(dto); + if (jsonObject!=null){ + return R.ok(jsonObject); + } + return R.fail(); + } + + @ApiOperation(value = "八字页面数据统计") + @PostMapping("/dataStatistics") + public R dataStatistics(@RequestParam String source, HttpServletRequest request) { + String ip = getIpAddr(request); + bzDataService.dataStatistics(ip,source); + return R.ok(); + } + + private String getIpAddr(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + //System.out.println("x-forwarded-for ip: " + ip); + if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { + // 多次反向代理后会有多个ip值,第一个ip才是真实ip + if (ip.indexOf(",") != -1) { + ip = ip.split(",")[0]; + } + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + //System.out.println("Proxy-Client-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + //System.out.println("WL-Proxy-Client-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + //System.out.println("HTTP_CLIENT_IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + //System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + //System.out.println("X-Real-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + //System.out.println("getRemoteAddr ip: " + ip); + } + //System.out.println("获取客户端ip: " + ip); + return ip; + } +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java new file mode 100644 index 0000000..354a015 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java @@ -0,0 +1,61 @@ +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +@ApiModel(value="com-bnyer-img-domain-BzData") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_bz_data") +public class BzData { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Long id; + + /** + * 日期 + */ + @TableField(value = "date") + @ApiModelProperty(value="日期 年月日") + private String date; + + /** + * pv + */ + @TableField(value = "pv") + @ApiModelProperty(value="pv") + private Long pv; + + /** + * uv + */ + @TableField(value = "uv") + @ApiModelProperty(value="uv") + private Long uv; + + /** + * 平台(0->Hub;1->抖音;2->快手;3->微信) + */ + @TableField(value = "source") + @ApiModelProperty(value="source") + private String source; + + /** + * 防止重复唯一标识 + */ + @TableField(value = "mark") + @ApiModelProperty(value="mark") + private String mark; + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java new file mode 100644 index 0000000..76f5470 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java @@ -0,0 +1,35 @@ +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; + +/** + * @Author qyh + * @Date 2022/7/13 21:27 + * @Description + */ +@Getter +@Setter +@ApiModel("八字运势接收类") +public class BzDto { + @NotBlank(message = "姓不能为空!") + @ApiModelProperty(value="姓") + private String lastName; + + @NotBlank(message = "名不能为空!") + @ApiModelProperty(value="名") + private String firstName; + + @NotBlank(message = "性别不能为空!") + @ApiModelProperty(value="性别") + private String sex; + + @NotBlank(message = "出生年月不能为空!") + @ApiModelProperty(value="出生年月") + //19990209060808这样的 + private String birth; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java new file mode 100644 index 0000000..e5006a0 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java @@ -0,0 +1,15 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.BzData; +import com.bnyer.img.vo.BannerVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BzDataMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java new file mode 100644 index 0000000..8d6e284 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java @@ -0,0 +1,19 @@ +package com.bnyer.img.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.BzData; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.BzDto; +import com.bnyer.img.vo.BannerVo; + +import java.util.List; + +public interface BzDataService { + JSONObject getYs(BzDto dto); + + void dataStatistics(String ip,String source); + + int update(BzData bzData,UpdateWrapper updateWrapper); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java new file mode 100644 index 0000000..b054c92 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java @@ -0,0 +1,124 @@ +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.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.bnyer.common.core.domain.R; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.BzData; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.BzDto; +import com.bnyer.img.mapper.BannerMapper; +import com.bnyer.img.mapper.BzDataMapper; +import com.bnyer.img.service.BannerService; +import com.bnyer.img.service.BzDataService; +import com.bnyer.img.vo.BannerVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.IOException; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.Date; +import java.util.List; + +@Service +@Slf4j +public class BzDataServiceImpl implements BzDataService { + + @Autowired + private RedisService redisService; + @Autowired + private BzDataMapper bzDataMapper; + + @Override + public JSONObject getYs(BzDto dto) { + //API产品路径 + String requestUrl = "https://xuanxue.market.alicloudapi.com/ai_china_knowledge/bazi/v1?"; + //阿里云APPCODE + String appcode = "7a37e4f4f24d4737bf48143d371a215b"; + String lastName = dto.getLastName(); + String firstName = dto.getFirstName(); + String sex = dto.getSex(); + String birth = dto.getBirth(); + CloseableHttpClient httpClient = null; + try { + httpClient = HttpClients.createDefault(); + String str = "SECOND_NAME=" + URLEncoder.encode(firstName, "UTF-8") + "&GENDER=" + URLEncoder.encode(sex, "UTF-8") + "&BIRTH=" + URLEncoder.encode(birth, "UTF-8") + "&FIRST_NAME=" + URLEncoder.encode(lastName, "UTF-8"); + System.out.println(requestUrl + str); + // 创建一个HttpGet实例 + HttpGet httpGet = new HttpGet(requestUrl + str); + httpGet.addHeader("Authorization", "APPCODE " + appcode); + + // 发送GET请求 + HttpResponse execute = httpClient.execute(httpGet); + + // 获取状态码 + int statusCode = execute.getStatusLine().getStatusCode(); + System.out.println(statusCode); + + // 获取结果 + HttpEntity entity = execute.getEntity(); + String result = EntityUtils.toString(entity, "utf-8"); + //System.out.println(result); + return JSON.parseObject(result); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (httpClient != null) { + try { + httpClient.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return null; + } + + @Override + public void dataStatistics(String ip, String source) { + String today = LocalDate.now() + ""; + String page="bzPage_" + source; + //保存今天的key + redisService.redisTemplate.opsForZSet().add("bzPage_key" +today, today+page, 1.0); + //pv统计 + redisService.pvStatistics(today, page); + //uv统计 + redisService.uvStatistics(today, page, ip); + //查看是否已经有了这条数据 + if (!redisService.hasKey(today + source)) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("date", today); + wrapper.eq("source", source); + List bzData = bzDataMapper.selectList(wrapper); + if (bzData.size() <= 0) { + BzData data = new BzData(); + data.setDate(today); + data.setPv(1L); + data.setUv(1L); + data.setSource(source); + data.setMark(today + source); + bzDataMapper.insert(data); + } + } + } + + @Override + public int update(BzData bzData, UpdateWrapper updateWrapper) { + return bzDataMapper.update(bzData,updateWrapper); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java new file mode 100644 index 0000000..b54165d --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java @@ -0,0 +1,60 @@ +package com.bnyer.img.task; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.domain.BzData; +import com.bnyer.img.service.BzDataService; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.xxl.job.core.log.XxlJobLogger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; +import java.util.Set; + +/** + * @Author qyh + * @Date 2022/7/14 16:43 + * @Description + */ +@Component +@Slf4j +public class DateSyncTask { + @Autowired + private static RedisService redisService; + @Autowired + private static BzDataService bzDataService; + //@XxlJob("dateSyncTask") + //@Scheduled(fixedDelay = 1000 * 60 * 60) + public static ReturnT dateSync() { + String day = LocalDate.now().plusDays(-1)+ ""; + String redisKey = "bzPage_key" + day; + System.out.println(redisService); + redisService.setCacheObject("4", 2); + Set range = redisService.redisTemplate.opsForZSet().range(redisKey, 0, -1); + for (Object key : redisService.redisTemplate.opsForZSet().range(redisKey, 0, -1)) { + Long pv = Long.parseLong(redisService.redisTemplate.opsForValue().get(key + "PV").toString()); + Long uv = Long.parseLong(redisService.redisTemplate.opsForHyperLogLog().size(key + "UV").toString()); + String[] s = key.toString().split("_"); + String source = s[1]; + redisService.deleteObject(key + "PV"); + redisService.deleteObject(key + "UV"); + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.set("pv",pv); + wrapper.set("uv",uv); + wrapper.eq("date",day); + wrapper.eq("source",source); + bzDataService.update(new BzData(),wrapper); +// redisService.deleteObject(key + "PV"); +// redisService.deleteObject(key + "UV"); + } + redisService.deleteObject("bzPage_key" + day); + XxlJobLogger.log("{} 我执行了同步pv,uv任务", System.currentTimeMillis()); + return ReturnT.SUCCESS; + } + + +} From 1ae47ff84b04cb2f6885b68011f020435627479c Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 17 Jul 2022 20:23:28 +0800 Subject: [PATCH 22/32] =?UTF-8?q?feature-img-1.0.0:=20=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=90=88=E9=9B=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/CreatorMiniController.java | 22 ++-- .../img/controller/FhMiniController.java | 22 ++++ .../img/controller/TiktokImgController.java | 12 +- .../img/controller/TiktokMiniController.java | 21 ++++ .../img/controller/WxMiniController.java | 22 ++++ .../com/bnyer/img/domain/ImgSignRelation.java | 23 +++- .../main/java/com/bnyer/img/domain/Sign.java | 7 ++ .../main/java/com/bnyer/img/dto/SignDto.java | 3 + .../com/bnyer/img/dto/SignImgPageDto.java | 22 ++++ .../com/bnyer/img/dto/SignTypePageDto.java | 18 +++ .../com/bnyer/img/dto/TiktokImgMiniDto.java | 5 + .../img/mapper/ImgSignRelationMapper.java | 27 +++++ .../java/com/bnyer/img/mapper/SignMapper.java | 17 +++ .../com/bnyer/img/mapper/TiktokImgMapper.java | 11 +- .../img/service/ImgSignRelationService.java | 81 -------------- .../com/bnyer/img/service/SignService.java | 17 ++- .../bnyer/img/service/TiktokImgService.java | 16 ++- .../impl/ImgSignRelationServiceImpl.java | 104 ------------------ .../img/service/impl/SignServiceImpl.java | 33 ++++-- .../service/impl/TiktokImgServiceImpl.java | 29 ++++- .../main/java/com/bnyer/img/vo/ImgSignVo.java | 48 ++++++++ .../main/java/com/bnyer/img/vo/SignImgVo.java | 28 +++++ .../java/com/bnyer/img/vo/SignRelationVo.java | 25 +++++ .../main/java/com/bnyer/img/vo/SignVo.java | 22 ++++ .../com/bnyer/img/vo/TiktokCollectionVo.java | 2 +- .../java/com/bnyer/img/vo/TiktokImgVo.java | 4 + .../img/mapper/ImgSignRelationMapper.xml | 29 ++++- .../com/bnyer/img/mapper/SignMapper.xml | 18 ++- .../com/bnyer/img/mapper/TiktokImgMapper.xml | 96 +++++++++++----- 29 files changed, 530 insertions(+), 254 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java delete mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java delete mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java 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 7797aa5..f2c5852 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 @@ -56,6 +56,9 @@ public class CreatorMiniController extends BaseController { @Autowired private CreatorProfitService creatorProfitService; + @Autowired + private SignService signService; + //@TokenCheck @ApiOperation(value="检查手机号是否重复") @PostMapping(value = "/checkPhone") @@ -127,22 +130,12 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(tiktokImgService.delete(ids)); } - //@TokenCheck - @ApiOperation(value="修改艺术家图片") - @PostMapping(value = "/updateTiktokImg") - public AjaxResult updateTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto){ - log.info("【艺术家小程序】艺术家【{}】修改图片参数为:{}",dto.getCreatorId(), JSON.toJSONString(dto)); - TiktokImg tiktokImg = dto.extractParam(); - tiktokImg.setStatus("0"); - return AjaxResult.success(tiktokImgService.update(dto.extractParam())); - } - //@TokenCheck @ApiOperation(value="新增艺术家图片") @PostMapping(value = "/insertTiktokImg") public AjaxResult insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto){ log.info("【艺术家小程序】艺术家【{}】新增图片参数为:{}",dto.getCreatorId(),JSON.toJSONString(dto)); - return AjaxResult.success(tiktokImgService.insert(dto.extractParam())); + return AjaxResult.success(tiktokImgService.insert(dto)); } //@TokenCheck @@ -326,4 +319,11 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(tiktokImgService.onlineOrOfflineImg(param)); } + //@RequiresPermissions("system:config:list") + @ApiOperation(value="获取上传页面标签列表") + @GetMapping(value = "/signList") + public AjaxResult querySignList(){ + return AjaxResult.success(signService.querySignList()); + } + } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index 7be6d94..fbf6ea0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -9,6 +9,7 @@ import com.bnyer.img.domain.Feedback; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; import com.bnyer.img.vo.CreatorDetailsVo; +import com.bnyer.img.vo.SignImgVo; import com.bnyer.img.vo.TiktokImgVo; import com.github.pagehelper.PageHelper; import io.swagger.annotations.Api; @@ -55,6 +56,9 @@ public class FhMiniController extends BaseController { @Autowired private CreatorProfitService creatorProfitService; + @Autowired + private SignService signService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -240,4 +244,22 @@ public class FhMiniController extends BaseController { return AjaxResult.error("该艺术家不存在!"); } } + + //@TokenCheck + @ApiOperation(value="查询小程序端标签分页") + @PostMapping(value = "/signImgList") + public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId()); + return getDataTable(signImgVos); + } + + //@TokenCheck + @ApiOperation(value="根据分类id和便签Id查询图片分页") + @PostMapping(value = "/querySignImg") + public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); + return getDataTable(tiktokImgs); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java index adc43c1..92f2dc2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java @@ -39,12 +39,12 @@ public class TiktokImgController extends BaseController { } //@RequiresPermissions("system:config:list") - @ApiOperation(value="新增TiktokImg") - @PostMapping(value = "/insert") - public AjaxResult addTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgDto dto){ - log.debug("【图文平台后台】新增TiktokImg参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(tiktokImgService.insert(dto.extractParam())); - } +// @ApiOperation(value="新增TiktokImg") +// @PostMapping(value = "/insert") +// public AjaxResult addTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgDto dto){ +// log.debug("【图文平台后台】新增TiktokImg参数为:{}", JSON.toJSONString(dto)); +// return AjaxResult.success(tiktokImgService.insert(dto.extractParam())); +// } //@RequiresPermissions("system:config:list") @ApiOperation(value="修改TiktokImg") 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 c25fdfa..6d08e67 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 @@ -57,6 +57,9 @@ public class TiktokMiniController extends BaseController { @Autowired private CreatorProfitService creatorProfitService; + @Autowired + private SignService signService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -244,4 +247,22 @@ public class TiktokMiniController extends BaseController { return AjaxResult.error("该艺术家不存在!"); } } + + //@TokenCheck + @ApiOperation(value="查询小程序端标签分页") + @PostMapping(value = "/signImgList") + public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId()); + return getDataTable(signImgVos); + } + + //@TokenCheck + @ApiOperation(value="根据分类id和便签Id查询图片分页") + @PostMapping(value = "/querySignImg") + public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); + return getDataTable(tiktokImgs); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index ed219ee..2f44dc2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -9,6 +9,7 @@ import com.bnyer.img.domain.Feedback; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; import com.bnyer.img.vo.CreatorDetailsVo; +import com.bnyer.img.vo.SignImgVo; import com.bnyer.img.vo.TiktokImgVo; import com.github.pagehelper.PageHelper; import io.swagger.annotations.Api; @@ -55,6 +56,9 @@ public class WxMiniController extends BaseController { @Autowired private CreatorProfitService creatorProfitService; + @Autowired + private SignService signService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -240,4 +244,22 @@ public class WxMiniController extends BaseController { return AjaxResult.error("该艺术家不存在!"); } } + + //@TokenCheck + @ApiOperation(value="查询小程序端标签分页") + @PostMapping(value = "/signImgList") + public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId()); + return getDataTable(signImgVos); + } + + //@TokenCheck + @ApiOperation(value="根据分类id和便签Id查询图片分页") + @PostMapping(value = "/querySignImg") + public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); + return getDataTable(tiktokImgs); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java index 17e8f5f..acb9b3a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java @@ -4,10 +4,14 @@ 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.io.Serializable; +import java.util.Date; + @ApiModel(value="com-bnyer-img-domain-ImgSignRelation") @Getter @Setter @@ -15,11 +19,11 @@ import lombok.*; @AllArgsConstructor @NoArgsConstructor @TableName(value = "img_img_sign_relation") -public class ImgSignRelation extends BaseDomain { +public class ImgSignRelation implements Serializable { /** * 主键id */ - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value="主键id") private Long id; @@ -30,6 +34,13 @@ public class ImgSignRelation extends BaseDomain { @ApiModelProperty(value="图片id") private Long imgId; + /** + * 分类id + */ + @TableField(value = "type_id") + @ApiModelProperty(value="分类id") + private Long typeId; + /** * 标签id */ @@ -37,5 +48,13 @@ public class ImgSignRelation extends BaseDomain { @ApiModelProperty(value="标签id") private Long signId; + /** + * 创建时间 + */ + @TableField(value = "create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="创建时间") + private Date createTime; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java index ff4a220..c3327ea 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java @@ -30,5 +30,12 @@ public class Sign extends BaseDomain{ @ApiModelProperty(value="标签名称") private String name; + /** + * 背景图 + */ + @TableField(value = "img") + @ApiModelProperty(value="背景图") + private String img; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java index 1db0b21..b441ed6 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java @@ -21,6 +21,9 @@ public class SignDto implements Serializable { @ApiModelProperty(value="标签名称") private String name; + @ApiModelProperty(value="背景图") + private String img; + public Sign extractParam(){ Sign sign = new Sign(); BeanUtils.copyProperties(this,sign); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java new file mode 100644 index 0000000..0b67cd7 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java @@ -0,0 +1,22 @@ +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.NotNull; + +@Getter +@Setter +@ApiModel("标签图片分页接收类") +public class SignImgPageDto extends BasePageDto { + + @NotNull(message = "分类id不能为空!") + @ApiModelProperty(value="分类id") + private Long typeId; + + @NotNull(message = "标签id不能为空!") + @ApiModelProperty(value="标签id") + private Long signId; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java new file mode 100644 index 0000000..883695d --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java @@ -0,0 +1,18 @@ +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.NotNull; + +@Getter +@Setter +@ApiModel("标签分类分页接收类") +public class SignTypePageDto extends BasePageDto { + + @NotNull(message = "分类id不能为空!") + @ApiModelProperty(value="分类id") + private Long typeId; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java index ceab1f0..8bf70b7 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java @@ -2,12 +2,14 @@ package com.bnyer.img.dto; import com.bnyer.common.core.utils.bean.BeanUtils; import com.bnyer.img.domain.TiktokImg; +import com.bnyer.img.vo.SignVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; +import java.util.List; @Getter @@ -30,6 +32,9 @@ public class TiktokImgMiniDto implements Serializable { @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") private String status; + @ApiModelProperty(value="标签id列表") + private List signList; + public TiktokImg extractParam(){ TiktokImg tiktokImg = new TiktokImg(); BeanUtils.copyProperties(this,tiktokImg); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java index 19c3159..67fe0d8 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java @@ -2,8 +2,35 @@ package com.bnyer.img.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bnyer.img.domain.ImgSignRelation; +import com.bnyer.img.vo.SignRelationVo; +import com.bnyer.img.vo.SignVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface ImgSignRelationMapper extends BaseMapper { + + /** + * 根据图片id查询标签集合 + * @param imgId 图片id + * @return - + */ + List querySignListByImgId(@Param("imgId") Long imgId); + + /** + * 根据图片id查询标签集合 + * @param imgId 图片id + * @return - + */ + List querySignRelationByImgId(@Param("imgId") Long imgId); + + /** + * 批量新增标签 + * @param imgId 图片id + * @param typeId 分类id + * @param signIds 标签id列表 + */ + void batctInsert(@Param("imgId") Long imgId, @Param("typeId") Long typeId, @Param("signIds") List signIds); } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java index 823408d..e4df35a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java @@ -2,8 +2,25 @@ package com.bnyer.img.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bnyer.img.domain.Sign; +import com.bnyer.img.vo.SignImgVo; +import com.bnyer.img.vo.SignVo; +import com.bnyer.img.vo.TiktokImgVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface SignMapper extends BaseMapper { + /** + * 查询上传页面标签列表 + * @return - + */ + List querySignList(); + + /** + * 根据分类id查询小程序端标签分页 + * @return - + */ + List queryFrontSign(@Param("typeId") Long typeId); } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java index adf13ca..2b94881 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java @@ -2,6 +2,7 @@ package com.bnyer.img.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bnyer.img.domain.TiktokImg; +import com.bnyer.img.vo.ImgSignVo; import com.bnyer.img.vo.TiktokImgVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -16,7 +17,7 @@ public interface TiktokImgMapper extends BaseMapper { * @param typeId 分类Id * @return - */ - List queryInList(@Param("creatorId")String creatorId,@Param("typeId") String typeId); + List queryInList(@Param("creatorId")String creatorId, @Param("typeId") String typeId); /** * 查询艺术家对外图片列表 @@ -68,4 +69,12 @@ public interface TiktokImgMapper extends BaseMapper { * @return - */ Integer queryCreatorTypeImgNum(@Param("typeId") Long typeId,@Param("creatorId") Long creatorId); + + /** + * 根据分类id和便签Id查询图片分页 + * @param signId 标签id + * @param typeId 分类id + * @return - + */ + List querySignImgBySignIdAndTypeId(@Param("signId") Long signId,@Param("typeId") Long typeId); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java deleted file mode 100644 index b53ba8c..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.bnyer.img.service; - -import com.bnyer.img.domain.ImgSignRelation; -import com.bnyer.img.domain.Sign; -import com.bnyer.img.dto.ImgSignRelationPageDto; -import com.bnyer.img.dto.SignPageDto; - -import java.util.List; - -/** - * @Author qyh - * @Date 2022/7/10 21:23 - * @Description - */ -public interface ImgSignRelationService { - /** - * 新增imgSignRelation - * @param imgSignRelation - * @return - */ - int insert(ImgSignRelation imgSignRelation); - - /** - * 修改imgSignRelation - * @param imgSignRelation - - * @return - - */ - int update(ImgSignRelation imgSignRelation); - - /** - * 批量删除imgSignRelation - * @param ids ids - * @return - - */ - int delete(List ids); - - /** - * 查询imgSignRelation分页 - * @param dto 分页对象 - * @return - - */ - List queryPage(ImgSignRelationPageDto dto); - - /** - * 查询imgSignRelation详情 - * @param id 主键id - * @return - - */ - ImgSignRelation queryDetails(Long id); - - /** - * 查询小程序imgSignRelation列表 - * @param imgId 图片id - * @return - - */ - List queryListByImgId(String imgId); - - /** - * 查询小程序imgSignRelation列表 - * @param signId 标签id - * @return - - */ - List queryListBySignId(String signId); - - - /** - * 变更显示状态 - * @param id 主键id - * @param status 状态 - * @return - - */ - int changeStatus(Long id,String status); - - /** - * 根据列名+条件删除 - * @param columnName 要删除的列名 - * @param conditions 根据什么条件删除 - * @return - */ - int deleteByColumn(String columnName,Long conditions); -} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index edc20a7..ef2db87 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -2,12 +2,15 @@ package com.bnyer.img.service; import com.bnyer.img.domain.Sign; import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.vo.SignImgVo; +import com.bnyer.img.vo.SignVo; +import com.bnyer.img.vo.TiktokImgVo; import java.util.List; public interface SignService { /** - * 新增Sign + * 后台新增Sign * @param sign 标签 * @return - */ @@ -55,4 +58,16 @@ public interface SignService { * @return - */ int changeStatus(Long id,String status); + + /** + * 查询上传页面标签列表 + * @return - + */ + List querySignList(); + + /** + * 根据分类id查询小程序端标签分页 + * @return - + */ + List queryFrontSignByTypeId(Long typeId); } 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 956fc4a..b462919 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 @@ -2,8 +2,10 @@ package com.bnyer.img.service; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.StatusDto; +import com.bnyer.img.dto.TiktokImgMiniDto; import com.bnyer.img.dto.TiktokImgPageDto; import com.bnyer.img.vo.CreatorTypeImgVo; +import com.bnyer.img.vo.ImgSignVo; import com.bnyer.img.vo.TiktokImgVo; import java.util.List; @@ -12,10 +14,10 @@ public interface TiktokImgService { /** * 新增图片 - * @param tiktokImg 图片 + * @param dto 图片 * @return - */ - int insert(TiktokImg tiktokImg); + int insert(TiktokImgMiniDto dto); /** * 修改图片 @@ -51,7 +53,7 @@ public interface TiktokImgService { * @param typeId 分类id * @return - */ - List queryInList(String creatorId,String typeId); + List queryInList(String creatorId, String typeId); /** * 查询指定艺术家对外的图片集合(通过审核的) @@ -131,4 +133,12 @@ public interface TiktokImgService { * @return - */ int onlineOrOfflineImg(StatusDto param); + + /** + * 根据分类id和便签Id查询图片分页 + * @param signId 标签id + * @param typeId 分类id + * @return - + */ + List querySignImgBySignIdAndTypeId(Long signId, Long typeId); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java deleted file mode 100644 index f200de0..0000000 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.bnyer.img.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.bnyer.common.core.utils.StringUtils; -import com.bnyer.img.domain.Banner; -import com.bnyer.img.domain.ImgSignRelation; -import com.bnyer.img.domain.Sign; -import com.bnyer.img.dto.ImgSignRelationPageDto; -import com.bnyer.img.dto.SignPageDto; -import com.bnyer.img.mapper.ImgSignRelationMapper; -import com.bnyer.img.service.ImgSignRelationService; -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.util.List; - -/** - * @Author qyh - * @Date 2022/7/10 21:22 - * @Description - */ -@Service -@Slf4j -public class ImgSignRelationServiceImpl implements ImgSignRelationService { - @Autowired - private ImgSignRelationMapper imgSignRelationMapper; - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(ImgSignRelation imgSignRelation) { - return imgSignRelationMapper.insert(imgSignRelation); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int update(ImgSignRelation imgSignRelation) { - return imgSignRelationMapper.updateById(imgSignRelation); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int delete(List ids) { - return imgSignRelationMapper.deleteBatchIds(ids); - } - - @Override - public List queryPage(ImgSignRelationPageDto dto) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - if(dto.getImgId()!=null){ - wrapper.like(ImgSignRelation::getImgId,dto.getImgId()); - } - if(dto.getSignId()!=null){ - wrapper.eq(ImgSignRelation::getSignId, dto.getSignId()); - } - if(StringUtils.isNotBlank(dto.getIsShow())){ - wrapper.eq(ImgSignRelation::getIsShow, dto.getIsShow()); - } - wrapper.orderByDesc(ImgSignRelation::getSort); - return imgSignRelationMapper.selectList(wrapper); - } - - @Override - public ImgSignRelation queryDetails(Long id) { - return imgSignRelationMapper.selectById(id); - } - - @Override - public List queryListByImgId(String imgId) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("img_id",imgId); - return imgSignRelationMapper.selectList(wrapper); - } - @Override - public List queryListBySignId(String signId) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("sign_id",signId); - return imgSignRelationMapper.selectList(wrapper); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int changeStatus(Long id, String status) { - LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(ImgSignRelation::getId,id); - ImgSignRelation imgSignRelation = new ImgSignRelation(); - imgSignRelation.setIsShow(status); - return imgSignRelationMapper.update(imgSignRelation,wrapper); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteByColumn(String columnName, Long conditions) { - QueryWrapper wrapper = new QueryWrapper<>(); - if (conditions!=null){ - wrapper.eq(columnName,conditions); - imgSignRelationMapper.delete(wrapper); - } - - return 0; - } -} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index 8ce4f29..cad82a4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -1,17 +1,18 @@ package com.bnyer.img.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.utils.StringUtils; -import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.ImgSignRelation; import com.bnyer.img.domain.Sign; -import com.bnyer.img.dto.BannerPageDto; import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.mapper.ImgSignRelationMapper; import com.bnyer.img.mapper.SignMapper; import com.bnyer.img.service.SignService; -import com.bnyer.img.vo.BannerVo; +import com.bnyer.img.vo.SignImgVo; +import com.bnyer.img.vo.SignVo; +import com.bnyer.img.vo.TiktokImgVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,7 +28,7 @@ public class SignServiceImpl implements SignService { private SignMapper signMapper; @Autowired - private ImgSignRelationServiceImpl imgSignRelationService; + private ImgSignRelationMapper imgSignRelationMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -52,11 +53,13 @@ public class SignServiceImpl implements SignService { @Override @Transactional(rollbackFor = Exception.class) public int delete(List ids) { - //先把img_sign_relation关联的数据删掉 - for (Long id : ids) { - imgSignRelationService.deleteByColumn("sign_id",id); - } - return signMapper.deleteBatchIds(ids); + int i = signMapper.deleteBatchIds(ids); + //删除关联relation + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(ImgSignRelation::getSignId, ids); + imgSignRelationMapper.delete(wrapper); + //imgSignRelationMapper.batchDelete(ids); + return i; } @Override @@ -98,4 +101,14 @@ public class SignServiceImpl implements SignService { sign.setIsShow(status); return signMapper.update(sign,wrapper); } + + @Override + public List querySignList() { + return signMapper.querySignList(); + } + + @Override + public List queryFrontSignByTypeId(Long typeId) { + return signMapper.queryFrontSign(typeId); + } } 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 4c587a0..132d5a5 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 @@ -10,14 +10,18 @@ import com.bnyer.img.domain.TiktokCollection; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.TiktokLike; import com.bnyer.img.dto.StatusDto; +import com.bnyer.img.dto.TiktokImgMiniDto; import com.bnyer.img.dto.TiktokImgPageDto; +import com.bnyer.img.mapper.ImgSignRelationMapper; import com.bnyer.img.mapper.TiktokCollectionMapper; import com.bnyer.img.mapper.TiktokImgMapper; import com.bnyer.img.mapper.TiktokLikeMapper; import com.bnyer.img.service.TiktokImgService; import com.bnyer.img.vo.CreatorTypeImgVo; +import com.bnyer.img.vo.ImgSignVo; import com.bnyer.img.vo.TiktokImgVo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,14 +46,28 @@ public class TiktokImgServiceImpl implements TiktokImgService { @Autowired private RedisService redisService; + @Autowired + private ImgSignRelationMapper imgSignRelationMapper; + @Override @Transactional(rollbackFor = Exception.class) - public int insert(TiktokImg tiktokImg) { + public int insert(TiktokImgMiniDto dto) { + TiktokImg tiktokImg = new TiktokImg(); + tiktokImg.setImgUrl(dto.getImgUrl()); + tiktokImg.setCreatorId(dto.getCreatorId()); + tiktokImg.setTypeId(dto.getTypeId()); + tiktokImg.setStatus(dto.getStatus()); tiktokImg.setCreateTime(new Date()); tiktokImg.setUpdateTime(new Date()); - return tiktokImgMapper.insert(tiktokImg); + int insert = tiktokImgMapper.insert(tiktokImg); + //保存标签 + if(CollectionUtils.isNotEmpty(dto.getSignList())){ + imgSignRelationMapper.batctInsert(tiktokImg.getId(),dto.getTypeId(),dto.getSignList()); + } + return insert; } + @Override @Transactional(rollbackFor = Exception.class) public int update(TiktokImg tiktokImg) { @@ -102,7 +120,7 @@ public class TiktokImgServiceImpl implements TiktokImgService { } @Override - public List queryInList(String creatorId, String typeId) { + public List queryInList(String creatorId, String typeId) { return tiktokImgMapper.queryInList(creatorId,typeId); } @@ -229,4 +247,9 @@ public class TiktokImgServiceImpl implements TiktokImgService { } } + @Override + public List querySignImgBySignIdAndTypeId(Long signId, Long typeId) { + return tiktokImgMapper.querySignImgBySignIdAndTypeId(signId,typeId); + } + } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java new file mode 100644 index 0000000..066c218 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java @@ -0,0 +1,48 @@ +package com.bnyer.img.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + + +@Getter +@Setter +@ApiModel("图片标签响应类") +public class ImgSignVo implements Serializable { + + @ApiModelProperty(value="id") + private Long id; + + @ApiModelProperty(value="图片地址") + private String imgUrl; + + @ApiModelProperty(value="用户id") + private Long creatorId; + + @ApiModelProperty(value="分类id") + private Long typeId; + + @ApiModelProperty(value="下载量") + private Integer downloadNum; + + @ApiModelProperty(value="点赞量") + private Integer greatNum; + + @ApiModelProperty(value="收藏量") + private Integer collectionNum; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝;3->已上架;4->已下架))") + private String status; + + @ApiModelProperty(value="是否热门(0->冷门;1->热门)") + private String isHot; + + @ApiModelProperty(value="标签列表") + private List signList; + + private static final long serialVersionUID = 1L; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java new file mode 100644 index 0000000..de8f0bf --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java @@ -0,0 +1,28 @@ +package com.bnyer.img.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("sign图片响应体") +public class SignImgVo implements Serializable { + @ApiModelProperty(value="标签id") + private Long signId; + + @ApiModelProperty(value="标签名称") + private String signName; + + @ApiModelProperty(value="背景图") + private String img; + + @ApiModelProperty(value="分类id") + private Long typeId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java new file mode 100644 index 0000000..62635b4 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java @@ -0,0 +1,25 @@ +package com.bnyer.img.vo; + +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 SignRelationVo implements Serializable { + @ApiModelProperty(value="标签id") + private Long signId; + + @ApiModelProperty(value="标签名称") + private String signName; + + @ApiModelProperty(value="标签图片主键id") + private Long signImgRelationId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java new file mode 100644 index 0000000..084f30b --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java @@ -0,0 +1,22 @@ +package com.bnyer.img.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("sign响应体") +public class SignVo implements Serializable { + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="标签名称") + private String name; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java index 2c3915c..fa04176 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java @@ -11,7 +11,7 @@ import java.io.Serializable; @Getter @Setter @ApiModel("抖音收藏响应类") -public class TiktokCollectionVo implements Serializable { +public class TiktokCollectionVo implements Serializable { @ApiModelProperty(value="id") private Long id; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java index 255e6a4..8731943 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java @@ -6,6 +6,7 @@ import lombok.Getter; import lombok.Setter; import java.io.Serializable; +import java.util.List; @Getter @@ -40,5 +41,8 @@ public class TiktokImgVo implements Serializable { @ApiModelProperty(value="是否热门(0->冷门;1->热门)") private String isHot; + @ApiModelProperty(value="标签列表") + private List signList; + private static final long serialVersionUID = 1L; } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgSignRelationMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgSignRelationMapper.xml index 7c05c49..8d8cac4 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgSignRelationMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgSignRelationMapper.xml @@ -6,14 +6,35 @@ + - - - - id, img_id, sign_id, is_show, create_time, update_time, sort + id, img_id, type_id, sign_id, create_time + + + insert into img_img_sign_relation(img_id, type_id, sign_id,create_time) values + + ( + #{imgId}, #{typeId}, #{item},now() + ) + + + \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml index 43d4ee9..170b047 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml @@ -6,6 +6,7 @@ + @@ -13,6 +14,21 @@ - id, `name`, is_show, create_time, update_time, sort + id, `name`, img,is_show, create_time, update_time, sort + + \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml index c6c7740..8c3df61 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml @@ -18,25 +18,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id, img_url, creator_id, type_id, download_num, great_num, collection_num, `status`, is_hot, is_show, create_time, update_time, sort - select - id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot - from img_tiktok_img + iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId,iti.type_id as typeId, + iti.download_num as downloadNum, iti.great_num as greatNum, iti.collection_num as collectionNum, + iti.status as status, iti.is_hot as isHot + from img_tiktok_img iti - is_show = '1' + iti.is_show = '1' - and creator_id = #{creatorId} + and iti.creator_id = #{creatorId} - and type_id = #{typeId} + and iti.type_id = #{typeId} - order by create_time desc + order by iti.create_time desc @@ -53,37 +80,45 @@ - select - id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot - from img_tiktok_img - where creator_id = #{creatorId} and is_show = '1' and status = '3' - order by create_time desc + iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId,iti.type_id as typeId, + iti.download_num as downloadNum, iti.great_num greatNum, iti.collection_num as collectionNum, + iti.status as status,iti.is_hot as isHot + from img_tiktok_img iti + where iti.creator_id = #{creatorId} and iti.is_show = '1' and iti.status = '3' + order by iti.create_time desc limit 3 - select - id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot - from img_tiktok_img - where creator_id = #{creatorId} and is_show = '1' and status = '3' - order by create_time desc + iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId, + iti.type_id as typeId,iti.download_num as downloadNum, iti.great_num as greatNum, + iti.collection_num as collectionNum,iti.status as status,iti.is_hot as isHot + from img_tiktok_img iti + where iti.creator_id = #{creatorId} and iti.is_show = '1' and iti.status = '3' + order by iti.create_time desc - select - id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot - from img_tiktok_img - where is_show = '1' and status = '3' and id = #{imgId} + iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId, + iti.type_id as typeId,iti.download_num as downloadNum, iti.great_num as greatNum, + iti.collection_num as collectionNum,iti.status as status,iti.is_hot as isHot + from img_tiktok_img iti + where iti.is_show = '1' and iti.status = '3' and iti.id = #{imgId} - select - id,img_url,creator_id,type_id,download_num, great_num, collection_num,status,is_hot - from img_tiktok_img - where is_show = '1' and status = '3' + iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId, + iti.type_id as typeId,iti.download_num downloadNum, iti.great_num as greatNum, + iti.collection_num as collectionNum,iti.status as status,iti.is_hot as isHot + from img_tiktok_img iti + where iti.is_show = '1' and iti.status = '3' - select iti.id as id,iti.img_url as imgUrl,iti.creator_id as creatorId,iti.type_id as TypeId, iti.download_num as downloadNum,iti.great_num as greatNum,iti.collection_num as collectionNum, @@ -101,4 +136,13 @@ where type_id = #{typeId} and creator_id = #{creatorId} and is_show = '1' and status = '1' + From 229d9b90d7b401d2143a5184aeff5e4f46f13e7e Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 17 Jul 2022 20:42:14 +0800 Subject: [PATCH 23/32] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/img/config/AlipayConfig.java | 10 +-- .../java/com/bnyer/img/config/BzConfig.java | 25 +++++++ .../java/com/bnyer/img/config/FhConfig.java | 2 +- .../com/bnyer/img/config/TiktokConfig.java | 6 +- .../java/com/bnyer/img/config/WxConfig.java | 6 +- .../img/controller/BzDataController.java | 66 +------------------ .../com/bnyer/img/service/BzDataService.java | 3 + .../img/service/impl/BzDataServiceImpl.java | 46 ++++++++++++- 8 files changed, 85 insertions(+), 79 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java index 7c95f63..09928e0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java @@ -22,17 +22,17 @@ public class AlipayConfig{ private String gatewayUrl; @Value("${alipay.appId}") - public String appId; + private String appId; @Value("${alipay.privateKey}") - public String privateKey; + private String privateKey; @Value("${alipay.certPath}") - public String certPath; + private String certPath; @Value("${alipay.alipayPublicCertPath}") - public String alipayPublicCertPath; + private String alipayPublicCertPath; @Value("${alipay.rootPath}") - public String rootPath; + private String rootPath; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java new file mode 100644 index 0000000..2fc33df --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java @@ -0,0 +1,25 @@ +package com.bnyer.img.config; + +import lombok.Getter; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +/** + * 八字算命配置类 + * @author chengkun + * @date 2022/4/21 17:43 + */ +@Configuration +@ConfigurationProperties(prefix = "bnyer.img.bz") +@Getter +@RefreshScope +public class BzConfig { + + @Value("${bnyer.img.bz.appCode}") + private String appCode; + + @Value("${bnyer.img.bz.url}") + private String url; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java index 9b462cc..0c39b7b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java @@ -18,7 +18,7 @@ import org.springframework.context.annotation.Configuration; public class FhConfig { @Value("${bnyer.img.fasthand.appId}") - private String appId; + public String appId; @Value("${bnyer.img.fasthand.secret}") public String secret; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java index 0ca1522..2993230 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java @@ -26,13 +26,13 @@ public class TiktokConfig implements WebMvcConfigurer { private String appId; @Value("${bnyer.img.tiktok.secret}") - public String secret; + private String secret; @Value("${bnyer.img.tiktok.sessionInfoUrl}") - public String sessionInfoUrl; + private String sessionInfoUrl; @Value("${bnyer.img.tiktok.tokenUrl}") - public String tokenUrl; + private String tokenUrl; // @Resource // private TokenCheckHandler tokenCheckHandler; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java index 192166e..eb51a2a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java @@ -26,12 +26,12 @@ public class WxConfig { private String appId; @Value("${bnyer.img.wechat.secret}") - public String secret; + private String secret; @Value("${bnyer.img.wechat.sessionInfoUrl}") - public String sessionInfoUrl; + private String sessionInfoUrl; @Value("${bnyer.img.wechat.tokenUrl}") - public String tokenUrl; + private String tokenUrl; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java index 8ea5350..d360df4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java @@ -1,46 +1,19 @@ package com.bnyer.img.controller; -import cn.hutool.http.server.HttpServerRequest; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.bnyer.common.core.domain.R; 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.common.redis.service.RedisService; -import com.bnyer.img.domain.Banner; -import com.bnyer.img.domain.BzData; -import com.bnyer.img.dto.BannerDto; -import com.bnyer.img.dto.BannerPageDto; import com.bnyer.img.dto.BzDto; -import com.bnyer.img.dto.StatusDto; -import com.bnyer.img.service.BannerService; import com.bnyer.img.service.BzDataService; -import com.github.pagehelper.PageHelper; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.log.XxlJobLogger; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; -import java.net.URLEncoder; -import java.time.LocalDate; -import java.util.List; -import java.util.Set; @Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口") @RestController @@ -66,45 +39,8 @@ public class BzDataController extends BaseController { @ApiOperation(value = "八字页面数据统计") @PostMapping("/dataStatistics") public R dataStatistics(@RequestParam String source, HttpServletRequest request) { - String ip = getIpAddr(request); + String ip = bzDataService.getIpAddr(request); bzDataService.dataStatistics(ip,source); return R.ok(); } - - private String getIpAddr(HttpServletRequest request) { - String ip = request.getHeader("x-forwarded-for"); - //System.out.println("x-forwarded-for ip: " + ip); - if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { - // 多次反向代理后会有多个ip值,第一个ip才是真实ip - if (ip.indexOf(",") != -1) { - ip = ip.split(",")[0]; - } - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getHeader("Proxy-Client-IP"); - //System.out.println("Proxy-Client-IP ip: " + ip); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getHeader("WL-Proxy-Client-IP"); - //System.out.println("WL-Proxy-Client-IP ip: " + ip); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getHeader("HTTP_CLIENT_IP"); - //System.out.println("HTTP_CLIENT_IP ip: " + ip); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getHeader("HTTP_X_FORWARDED_FOR"); - //System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getHeader("X-Real-IP"); - //System.out.println("X-Real-IP ip: " + ip); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { - ip = request.getRemoteAddr(); - //System.out.println("getRemoteAddr ip: " + ip); - } - //System.out.println("获取客户端ip: " + ip); - return ip; - } } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java index 8d6e284..6d0365d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java @@ -8,6 +8,7 @@ import com.bnyer.img.dto.BannerPageDto; import com.bnyer.img.dto.BzDto; import com.bnyer.img.vo.BannerVo; +import javax.servlet.http.HttpServletRequest; import java.util.List; public interface BzDataService { @@ -16,4 +17,6 @@ public interface BzDataService { void dataStatistics(String ip,String source); int update(BzData bzData,UpdateWrapper updateWrapper); + + String getIpAddr(HttpServletRequest request); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java index b054c92..41ee1e2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.bnyer.common.core.domain.R; import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.config.BzConfig; import com.bnyer.img.domain.Banner; import com.bnyer.img.domain.BzData; import com.bnyer.img.dto.BannerPageDto; @@ -29,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.net.URLEncoder; import java.time.LocalDate; @@ -43,13 +45,15 @@ public class BzDataServiceImpl implements BzDataService { private RedisService redisService; @Autowired private BzDataMapper bzDataMapper; + @Autowired + private BzConfig bzConfig; @Override public JSONObject getYs(BzDto dto) { //API产品路径 - String requestUrl = "https://xuanxue.market.alicloudapi.com/ai_china_knowledge/bazi/v1?"; + String requestUrl = bzConfig.getUrl(); //阿里云APPCODE - String appcode = "7a37e4f4f24d4737bf48143d371a215b"; + String appcode = bzConfig.getAppCode(); String lastName = dto.getLastName(); String firstName = dto.getFirstName(); String sex = dto.getSex(); @@ -121,4 +125,42 @@ public class BzDataServiceImpl implements BzDataService { public int update(BzData bzData, UpdateWrapper updateWrapper) { return bzDataMapper.update(bzData,updateWrapper); } + + @Override + public String getIpAddr(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + //System.out.println("x-forwarded-for ip: " + ip); + if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { + // 多次反向代理后会有多个ip值,第一个ip才是真实ip + if (ip.indexOf(",") != -1) { + ip = ip.split(",")[0]; + } + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + //System.out.println("Proxy-Client-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + //System.out.println("WL-Proxy-Client-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + //System.out.println("HTTP_CLIENT_IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + //System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + //System.out.println("X-Real-IP ip: " + ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + //System.out.println("getRemoteAddr ip: " + ip); + } + //System.out.println("获取客户端ip: " + ip); + return ip; + } } From 5cfa11dd645054fb659a9870af3f99b1e3ef0c8c Mon Sep 17 00:00:00 2001 From: chengkun <2500338766@qq.com> Date: Mon, 18 Jul 2022 08:41:49 +0800 Subject: [PATCH 24/32] =?UTF-8?q?feature1.0.0-img:=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=85=AB=E5=AD=97=E7=AE=97=E5=91=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/CreatorMiniController.java | 14 ++++++++++++++ .../bnyer/img/controller/FhMiniController.java | 15 +++++++++++++++ .../img/controller/TiktokMiniController.java | 15 +++++++++++++++ .../bnyer/img/controller/WxMiniController.java | 16 ++++++++++++++++ 4 files changed, 60 insertions(+) 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 f2c5852..3b91dec 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 @@ -1,6 +1,7 @@ package com.bnyer.img.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -59,6 +60,9 @@ public class CreatorMiniController extends BaseController { @Autowired private SignService signService; + @Autowired + private BzDataService bzDataService; + //@TokenCheck @ApiOperation(value="检查手机号是否重复") @PostMapping(value = "/checkPhone") @@ -326,4 +330,14 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(signService.querySignList()); } + //@TokenCheck + @ApiOperation(value = "八字算命") + @PostMapping("/getYs") + public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { + JSONObject jsonObject = bzDataService.getYs(dto); + if (jsonObject!=null){ + return AjaxResult.success(jsonObject); + } + return AjaxResult.error(); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index fbf6ea0..944ca8f 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -1,6 +1,7 @@ package com.bnyer.img.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -59,6 +60,9 @@ public class FhMiniController extends BaseController { @Autowired private SignService signService; + @Autowired + private BzDataService bzDataService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -262,4 +266,15 @@ public class FhMiniController extends BaseController { List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); return getDataTable(tiktokImgs); } + + //@TokenCheck + @ApiOperation(value = "八字算命") + @PostMapping("/getYs") + public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { + JSONObject jsonObject = bzDataService.getYs(dto); + if (jsonObject!=null){ + return AjaxResult.success(jsonObject); + } + return AjaxResult.error(); + } } 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 6d08e67..32c8958 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 @@ -2,6 +2,7 @@ package com.bnyer.img.controller; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; @@ -60,6 +61,9 @@ public class TiktokMiniController extends BaseController { @Autowired private SignService signService; + @Autowired + private BzDataService bzDataService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -265,4 +269,15 @@ public class TiktokMiniController extends BaseController { List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); return getDataTable(tiktokImgs); } + + //@TokenCheck + @ApiOperation(value = "八字算命") + @PostMapping("/getYs") + public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { + JSONObject jsonObject = bzDataService.getYs(dto); + if (jsonObject!=null){ + return AjaxResult.success(jsonObject); + } + return AjaxResult.error(); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 2f44dc2..28449ac 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -1,6 +1,8 @@ package com.bnyer.img.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.bnyer.common.core.domain.R; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -59,6 +61,9 @@ public class WxMiniController extends BaseController { @Autowired private SignService signService; + @Autowired + private BzDataService bzDataService; + //@TokenCheck @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -262,4 +267,15 @@ public class WxMiniController extends BaseController { List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId()); return getDataTable(tiktokImgs); } + + //@TokenCheck + @ApiOperation(value = "八字算命") + @PostMapping("/getYs") + public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { + JSONObject jsonObject = bzDataService.getYs(dto); + if (jsonObject!=null){ + return AjaxResult.success(jsonObject); + } + return AjaxResult.error(); + } } From 000d7a3a79004f3805f088ba15a619db749029e7 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Tue, 19 Jul 2022 16:42:13 +0800 Subject: [PATCH 25/32] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/constants/RedisKeyConstant.java | 104 ++++++++++++++++++ .../com/bnyer/file/service/IFileService.java | 6 + .../file/service/impl/FileServiceImpl.java | 69 +++++++----- .../bnyer/img/constants/RedisKeyConstant.java | 4 + .../img/controller/CreatorMiniController.java | 6 + .../com/bnyer/img/dto/CreatorDownloadDto.java | 27 +++++ .../img/service/CreatorProfitService.java | 7 ++ .../impl/CreatorProfitServiceImpl.java | 30 +++++ .../bnyer/img/task/UserDownloadSyncTask.java | 7 ++ 9 files changed, 235 insertions(+), 25 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java new file mode 100644 index 0000000..495eb85 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -0,0 +1,104 @@ +package com.bnyer.file.constants; + +public class RedisKeyConstant { + + + /** + * 抖音小程序用户收藏图片键 + */ + public static final String TIKTOK_USER_COLLECT_KEY = "bnyer.img.tiktok.collect:"; + + /** + * 抖音小程序图片收藏数量键 + */ + public static final String TIKTOK_IMG_COLLECT_NUM_KEY = "bnyer.img.tiktok.collectNum"; + + /** + * 快手小程序图片收藏数量键 + */ + public static final String FAST_HAND_IMG_COLLECT_NUM_KEY = "bnyer.img.fh.collectNum"; + + /** + * 微信小程序图片收藏数量键 + */ + public static final String WECHAT_IMG_COLLECT_NUM_KEY = "bnyer.img.wx.collectNum"; + + /** + * 抖音小程序用户点赞图片键 + */ + public static final String TIKTOK_USER_LIKE_KEY = "bnyer.img.tiktok.like"; + + /** + * 快手小程序用户点赞图片键 + */ + public static final String FAST_HAND_USER_LIKE_KEY = "bnyer.img.fh.like"; + + /** + * 微信小程序用户点赞图片键 + */ + public static final String WECHAT_USER_LIKE_KEY = "bnyer.img.wx.like"; + + /** + * 抖音小程序图片点赞数量键 + */ + public static final String TIKTOK_IMG_LIKE_NUM_KEY = "bnyer.img.tiktok.likeNum"; + + /** + * 快手小程序图片点赞数量键 + */ + public static final String FAST_HAND_IMG_LIKE_NUM_KEY = "bnyer.img.fh.likeNum"; + + /** + * 微信小程序图片点赞数量键 + */ + public static final String WECHAT_IMG_LIKE_NUM_KEY = "bnyer.img.wx.likeNum"; + + /** + * 抖音小程序图片下载数量键 + */ + 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:"; + + /** + * 抖音小程序用户登录键 + */ + public static final String TIKTOK_USER_LOGIN_KEY = "bnyer.img.tiktok.user:"; + + /** + * 快手小程序用户登录键 + */ + public static final String FH_USER_LOGIN_KEY = "bnyer.img.fh.user:"; + + /** + * 微信小程序用户登录键 + */ + public static final String WECHAT_USER_LOGIN_KEY = "bnyer.img.wx.user:"; + + /** + * 微信小程序艺术家登录键 + */ + public static final String WECHAT_CREATOR_LOGIN_KEY = "bnyer.img.wechat.creator:"; + + /** + * 微信小程序艺术家邀请键 + */ + public static final String WECHAT_CREATOR_INVITE_KEY = "bnyer.img.invite.creator:"; + + /** + * 审核收益锁键 + */ + public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:"; + + /** + * 平台用户下载键 + */ + public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index 530e4e3..c56e6e0 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -16,4 +16,10 @@ public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); //图片检测+图片上传+图片保存 void checkUploadSave(FileUploadDto fileUploadDto) throws IOException; + + /** + * 写入艺术家上传次数 + * @param creator 艺术家id + */ + void writeDownloadTotalNum(Long creator); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index bd806d8..2b5ec5c 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,5 +1,7 @@ package com.bnyer.file.service.impl; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.file.constants.RedisKeyConstant; import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; @@ -11,6 +13,7 @@ import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; import com.bnyer.system.api.RemoteFileService; +import lombok.extern.slf4j.Slf4j; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; @@ -22,7 +25,9 @@ import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.UUID; /** @@ -31,6 +36,7 @@ import java.util.UUID; * @Description: */ @Service("file") +@Slf4j public class FileServiceImpl implements IFileService { @Autowired private IQiniuService qiniuService; @@ -38,6 +44,8 @@ public class FileServiceImpl implements IFileService { private ITikTokImage tikTokImage; @Autowired private RemoteImgService remoteImgService; + @Autowired + private RedisService redisService; @Override public ArrayList checkImg(ArrayList multipartFiles) { ArrayList chekFileVos = new ArrayList<>(); @@ -49,13 +57,13 @@ public class FileServiceImpl implements IFileService { String filename = multipartFile.getResource().getFilename(); chekFileVo.setFileName(filename); String imageString = ImgUtil.getImageString(multipartFile); - String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," +imageString); - if (checkMsg.equals("pass")){ + String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," + imageString); + if (checkMsg.equals("pass")) { //抖音图片检测二次检测 // if (tikTokImage.checkImageContent(multipartFile)) { - //可以通过 - chekFileVo.setStatus("1"); - chekFileVos.add(chekFileVo); + //可以通过 + chekFileVo.setStatus("1"); + chekFileVos.add(chekFileVo); // }else { // //不可以通过 // chekFileVo.setStatus("2"); @@ -63,13 +71,13 @@ public class FileServiceImpl implements IFileService { // } continue; } - if (checkMsg.equals("review")){ + if (checkMsg.equals("review")) { //人工审核 chekFileVo.setStatus("0"); chekFileVos.add(chekFileVo); continue; } - if (checkMsg.equals("block")){ + if (checkMsg.equals("block")) { //不可通过 chekFileVo.setStatus("2"); chekFileVos.add(chekFileVo); @@ -81,25 +89,36 @@ public class FileServiceImpl implements IFileService { @Override @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { - ArrayList multipartFiles = new ArrayList<>(); - for (FileDto fileDto : fileUploadDto.getFiles()) { - InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); - MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); - //System.out.println(files.getSize()); - multipartFiles.add(files); - } + //redis累计平台用户当天下载次数,12.00后过期 + writeDownloadTotalNum(fileUploadDto.getCreatorId()); + ArrayList multipartFiles = new ArrayList<>(); + for (FileDto fileDto : fileUploadDto.getFiles()) { + InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); + MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); + //System.out.println(files.getSize()); + multipartFiles.add(files); + } - //检测图片 - for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { - //图片上传 - String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); - TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); - tiktokImg.setImgUrl(imgUrl); - tiktokImg.setStatus(chekFileVo.getStatus()); - tiktokImg.setTypeId(fileUploadDto.getTypeId()); - tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); - remoteImgService.insertTiktokImg(tiktokImg); - } + //检测图片 + for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { + //图片上传 + String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); + TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); + tiktokImg.setImgUrl(imgUrl); + tiktokImg.setStatus(chekFileVo.getStatus()); + tiktokImg.setTypeId(fileUploadDto.getTypeId()); + tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); + remoteImgService.insertTiktokImg(tiktokImg); + } + } + + @Override + public void writeDownloadTotalNum(Long creator) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + log.info("日期【{}】艺术家【{}】下载数+1",date,creator); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + redisService.hashIncr(redisKey, creator.toString(), 1); } } 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 72cbdf5..a563643 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 @@ -97,4 +97,8 @@ public class RedisKeyConstant { * 平台用户下载键 */ public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; } 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 3b91dec..8b273fd 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 @@ -340,4 +340,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } + @ApiOperation(value="检查某艺术家当日下载次数是否超标") + @PostMapping(value = "/checkCreatorCanDownload") + public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ + log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java new file mode 100644 index 0000000..426bd1a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java @@ -0,0 +1,27 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.annotation.Desensitized; +import com.bnyer.common.core.enums.SensitiveTypeEnum; +import com.bnyer.common.core.utils.Sm4Util; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.CreatorAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("艺术家下载次数接收类") +public class CreatorDownloadDto implements Serializable { + + @ApiModelProperty(value="艺术家id") + @NotBlank + private Long creatorId; + + +} 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 c566413..387a1d0 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 @@ -194,4 +194,11 @@ public interface CreatorProfitService { * @return - */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); + + boolean checkCreatorCanDownload(Long creatorId); + + /** + * 批量删除昨日艺术家上传次数 + */ + void batchDeleteCreatorDownloadNum(); } 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 b0c0fc7..345b5bb 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 @@ -384,4 +384,34 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) { return creatorProfitMapper.queryFrontEndAmtDetails(id); } + + @Override + public boolean checkCreatorCanDownload(Long creatorId) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,creatorId.toString())){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); + return downloadNum >= 40; + }else{ + //不存在键则可下载 + return false; + } + } + + @Override + public void batchDeleteCreatorDownloadNum() { + log.info("==============批量删除昨日艺术家上传次数开始!==============="); + long startTime = System.currentTimeMillis(); + //获取昨日日期 + Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String date = simpleDateFormat.format(yesterday); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasKey(redisKey)){ + redisService.deleteObject(redisKey); + } + log.info("==============批量删除昨日艺术家上传次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java index 1d31f96..e682b71 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -26,4 +26,11 @@ public class UserDownloadSyncTask { XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); return ReturnT.SUCCESS; } + + @XxlJob("creatorDownloadSyncTask") + public ReturnT syncCreatorDownload(String param) throws Exception { + creatorProfitService.batchDeleteCreatorDownloadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + return ReturnT.SUCCESS; + } } From 23ff8b0c8f253f10dfa029cfb8dc685dab6671f5 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 21:39:28 +0800 Subject: [PATCH 26/32] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/file/constants/RedisKeyConstant.java | 2 +- .../java/com/bnyer/file/service/IFileService.java | 4 ++-- .../com/bnyer/file/service/impl/FileServiceImpl.java | 10 +++++----- .../bnyer/img/controller/CreatorMiniController.java | 11 +++++------ ...CreatorDownloadDto.java => CreatorUploadDto.java} | 8 ++++---- .../com/bnyer/img/service/CreatorProfitService.java | 7 ++++++- .../img/service/impl/CreatorProfitServiceImpl.java | 12 ++++++++---- 7 files changed, 31 insertions(+), 23 deletions(-) rename bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/{CreatorDownloadDto.java => CreatorUploadDto.java} (72%) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java index 495eb85..14ea436 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -100,5 +100,5 @@ public class RedisKeyConstant { /** * 艺术家上传键 */ - public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; + public static final String CREATOR_UPLOAD_KEY="bnyer.img.createor.upload"; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index c56e6e0..12cb86b 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -19,7 +19,7 @@ public interface IFileService { /** * 写入艺术家上传次数 - * @param creator 艺术家id + * @param creatorId 艺术家id */ - void writeDownloadTotalNum(Long creator); + void writeUploadTotalNum(Long creatorId); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 2b5ec5c..f3764f8 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -90,7 +90,7 @@ public class FileServiceImpl implements IFileService { @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { //redis累计平台用户当天下载次数,12.00后过期 - writeDownloadTotalNum(fileUploadDto.getCreatorId()); + writeUploadTotalNum(fileUploadDto.getCreatorId()); ArrayList multipartFiles = new ArrayList<>(); for (FileDto fileDto : fileUploadDto.getFiles()) { InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); @@ -113,12 +113,12 @@ public class FileServiceImpl implements IFileService { } @Override - public void writeDownloadTotalNum(Long creator) { + public void writeUploadTotalNum(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - log.info("日期【{}】艺术家【{}】下载数+1",date,creator); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - redisService.hashIncr(redisKey, creator.toString(), 1); + log.info("日期【{}】艺术家【{}】下载数+1",date,creatorId); + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; + redisService.hashIncr(redisKey, creatorId.toString(), 1); } } 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 8b273fd..b06d8e1 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 @@ -6,7 +6,6 @@ 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.constants.TiktokConstant; -import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; import com.github.pagehelper.PageHelper; @@ -340,10 +339,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } - @ApiOperation(value="检查某艺术家当日下载次数是否超标") - @PostMapping(value = "/checkCreatorCanDownload") - public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ - log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + @ApiOperation(value="检查某艺术家当日上传次数是否超标") + @PostMapping(value = "/checkCreatorCanUpload") + public AjaxResult checkCreatorCanUpload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorUploadDto dto){ + log.debug("【艺术家小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanUpload(dto.getCreatorId())); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java similarity index 72% rename from bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java rename to bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java index 426bd1a..75268f2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java @@ -10,17 +10,17 @@ 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; @Getter @Setter -@ApiModel("艺术家下载次数接收类") -public class CreatorDownloadDto implements Serializable { +@ApiModel("艺术家上传次数接收类") +public class CreatorUploadDto implements Serializable { @ApiModelProperty(value="艺术家id") - @NotBlank + @NotNull(message = "艺术家id不能为空!") private Long creatorId; 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 387a1d0..0a63269 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 @@ -195,7 +195,12 @@ public interface CreatorProfitService { */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); - boolean checkCreatorCanDownload(Long creatorId); + /** + * 检查艺术家上传是否超标 + * @param creatorId 艺术家id + * @return - + */ + boolean checkCreatorCanUpload(Long creatorId); /** * 批量删除昨日艺术家上传次数 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 345b5bb..35c6af1 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 @@ -386,16 +386,20 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } @Override - public boolean checkCreatorCanDownload(Long creatorId) { + public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - if(redisService.hasHashKey(redisKey,creatorId.toString())){ + if (redisService.hasHashKey(redisKey, creatorId.toString())) { //存在键,判断次数,次数达标则不可下载 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); - return downloadNum >= 40; + if (downloadNum >= 40) { + return true; + } else { + return false; + } }else{ - //不存在键则可下载 + //不存在键则可上传 return false; } } From 649f3b8f04fa2b0fe6f1769768bfc6158b0a221f Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 22:04:29 +0800 Subject: [PATCH 27/32] =?UTF-8?q?feature-1.0-img:=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=8B=E8=BD=BD=E6=A3=80=E6=B5=8B=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/FhMiniController.java | 2 +- .../img/controller/TiktokMiniController.java | 10 ++++----- .../img/controller/WxMiniController.java | 3 +-- .../img/service/CreatorProfitService.java | 9 -------- .../com/bnyer/img/service/FhUserService.java | 9 ++++++++ .../bnyer/img/service/TiktokUserService.java | 9 ++++++++ .../com/bnyer/img/service/WxUserService.java | 9 ++++++++ .../impl/CreatorProfitServiceImpl.java | 20 ------------------ .../img/service/impl/FhUserServiceImpl.java | 21 +++++++++++++++++++ .../service/impl/TiktokUserServiceImpl.java | 21 +++++++++++++++++++ .../img/service/impl/WxUserServiceImpl.java | 21 +++++++++++++++++++ 11 files changed, 97 insertions(+), 37 deletions(-) diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index 944ca8f..c31bace 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -210,7 +210,7 @@ public class FhMiniController extends BaseController { @PostMapping(value = "/checkUserCanDownload") public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ log.debug("【快手图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + return AjaxResult.success(fhUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); } //@TokenCheck 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 32c8958..e4ba90a 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 @@ -1,9 +1,7 @@ package com.bnyer.img.controller; -import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -11,7 +9,10 @@ import com.bnyer.img.constants.TiktokConstant; import com.bnyer.img.domain.Feedback; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; -import com.bnyer.img.vo.*; +import com.bnyer.img.vo.CreatorDetailsVo; +import com.bnyer.img.vo.CreatorVo; +import com.bnyer.img.vo.SignImgVo; +import com.bnyer.img.vo.TiktokImgVo; import com.github.pagehelper.PageHelper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -21,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -213,7 +213,7 @@ public class TiktokMiniController extends BaseController { @PostMapping(value = "/checkUserCanDownload") public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ log.debug("【抖音图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + return AjaxResult.success(tiktokUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); } //@TokenCheck diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 28449ac..f88254d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -2,7 +2,6 @@ package com.bnyer.img.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.bnyer.common.core.domain.R; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -211,7 +210,7 @@ public class WxMiniController extends BaseController { @PostMapping(value = "/checkUserCanDownload") public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){ log.debug("【微信图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); + return AjaxResult.success(wxUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType())); } //@TokenCheck 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 c566413..7f66e0b 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 @@ -179,15 +179,6 @@ public interface CreatorProfitService { */ int batchUpdate(List list); - /** - * 检查某平台用户当日下载次数是否超标 - * @param userId 用户id - * @param platform 平台 - * @param appType 应用 - * @return - - */ - boolean checkUserCanDownload(Long userId,String platform,String appType); - /** * 查询转入钱包收益详情 * @param id 收益id diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java index c61312a..8ae66eb 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java @@ -51,4 +51,13 @@ public interface FhUserService { * @return - */ int changeStatus(Long id,String status); + + /** + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 + * @return - + */ + boolean checkUserCanDownload(Long userId,String platform,String appType); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java index 937fd82..a39440a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java @@ -50,4 +50,13 @@ public interface TiktokUserService { * @return - */ int changeStatus(Long id,String status); + + /** + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 + * @return - + */ + boolean checkUserCanDownload(Long userId,String platform,String appType); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java index ded2139..1f5ed02 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java @@ -51,4 +51,13 @@ public interface WxUserService { * @return - */ int changeStatus(Long id,String status); + + /** + * 检查某平台用户当日下载次数是否超标 + * @param userId 用户id + * @param platform 平台 + * @param appType 应用 + * @return - + */ + boolean checkUserCanDownload(Long userId,String platform,String 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 b0c0fc7..47de8b9 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 @@ -360,26 +360,6 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { return creatorProfitMapper.batchUpdateTransInfo(list); } - @Override - public boolean checkUserCanDownload(Long userId, String platform, String appType) { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - String date = df.format(new Date()); - String hashKey = appType+":"+platform+":"+userId; - String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; - if(redisService.hasHashKey(redisKey,hashKey)){ - //存在键,判断次数,次数达标则不可下载 - Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey); - if(downloadNum >= 5){ - return true; - }else{ - return false; - } - }else{ - //不存在键则可下载 - return false; - } - } - @Override public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) { return creatorProfitMapper.queryFrontEndAmtDetails(id); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java index 359252d..0bba4b4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.web.client.RestTemplate; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; @@ -201,4 +202,24 @@ public class FhUserServiceImpl implements FhUserService { user.setIsShow(status); return fhUserMapper.update(user, wrapper); } + + @Override + public boolean checkUserCanDownload(Long userId, String platform, String appType) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,hashKey)){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey); + if(downloadNum >= 5){ + return true; + }else{ + return false; + } + }else{ + //不存在键则可下载 + return false; + } + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java index 511d765..edcbf39 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java @@ -32,6 +32,7 @@ import javax.annotation.Resource; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; @@ -210,4 +211,24 @@ public class TiktokUserServiceImpl implements TiktokUserService { user.setIsShow(status); return tiktokUserMapper.update(user,wrapper); } + + @Override + public boolean checkUserCanDownload(Long userId, String platform, String appType) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,hashKey)){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey); + if(downloadNum >= 5){ + return true; + }else{ + return false; + } + }else{ + //不存在键则可下载 + return false; + } + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java index 0e13792..7253829 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.web.client.RestTemplate; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; @@ -212,4 +213,24 @@ public class WxUserServiceImpl implements WxUserService { user.setIsShow(status); return wxUserMapper.update(user, wrapper); } + + @Override + public boolean checkUserCanDownload(Long userId, String platform, String appType) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,hashKey)){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey); + if(downloadNum >= 5){ + return true; + }else{ + return false; + } + }else{ + //不存在键则可下载 + return false; + } + } } From 7a9e9064680e4fe2831455439030dd73a7472dc0 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 22:18:58 +0800 Subject: [PATCH 28/32] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bnyer/file/controller/SysFileController.java | 2 -- .../java/com/bnyer/file/service/impl/FileServiceImpl.java | 8 ++------ .../java/com/bnyer/img/constants/RedisKeyConstant.java | 2 +- .../java/com/bnyer/img/service/CreatorProfitService.java | 2 +- .../bnyer/img/service/impl/CreatorProfitServiceImpl.java | 8 ++++---- .../java/com/bnyer/img/task/UserDownloadSyncTask.java | 6 +++--- 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index f002008..9415d12 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -1,6 +1,5 @@ package com.bnyer.file.controller; -import cn.hutool.log.Log; import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; import com.bnyer.file.dto.FileDto; @@ -20,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index f3764f8..62d0450 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -9,10 +9,8 @@ import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.ITikTokImage; import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.vo.ChekFileVo; -import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; -import com.bnyer.system.api.RemoteFileService; import lombok.extern.slf4j.Slf4j; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; @@ -21,14 +19,12 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import java.util.UUID; /** * @Author: Yeman @@ -89,7 +85,7 @@ public class FileServiceImpl implements IFileService { @Override @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { - //redis累计平台用户当天下载次数,12.00后过期 + //redis累计艺术家当天上传次数,12.00后过期 writeUploadTotalNum(fileUploadDto.getCreatorId()); ArrayList multipartFiles = new ArrayList<>(); for (FileDto fileDto : fileUploadDto.getFiles()) { @@ -116,7 +112,7 @@ public class FileServiceImpl implements IFileService { public void writeUploadTotalNum(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - log.info("日期【{}】艺术家【{}】下载数+1",date,creatorId); + log.info("日期【{}】艺术家【{}】上传数+1",date,creatorId); String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; redisService.hashIncr(redisKey, creatorId.toString(), 1); } 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 a563643..e5c7bd3 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 @@ -100,5 +100,5 @@ public class RedisKeyConstant { /** * 艺术家上传键 */ - public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; + public static final String CREATOR_UPLOAD_KEY="bnyer.img.creator.upload:"; } 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 0a63269..c7f2231 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 @@ -205,5 +205,5 @@ public interface CreatorProfitService { /** * 批量删除昨日艺术家上传次数 */ - void batchDeleteCreatorDownloadNum(); + void batchDeleteCreatorUploadNum(); } 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 35c6af1..d24b87c 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 @@ -389,9 +389,9 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; if (redisService.hasHashKey(redisKey, creatorId.toString())) { - //存在键,判断次数,次数达标则不可下载 + //存在键,判断次数,次数达标则不可上传 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); if (downloadNum >= 40) { return true; @@ -405,14 +405,14 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } @Override - public void batchDeleteCreatorDownloadNum() { + public void batchDeleteCreatorUploadNum() { log.info("==============批量删除昨日艺术家上传次数开始!==============="); long startTime = System.currentTimeMillis(); //获取昨日日期 Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String date = simpleDateFormat.format(yesterday); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; if(redisService.hasKey(redisKey)){ redisService.deleteObject(redisKey); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java index e682b71..7b51221 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -28,9 +28,9 @@ public class UserDownloadSyncTask { } @XxlJob("creatorDownloadSyncTask") - public ReturnT syncCreatorDownload(String param) throws Exception { - creatorProfitService.batchDeleteCreatorDownloadNum(); - XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + public ReturnT syncCreatorUpload(String param) throws Exception { + creatorProfitService.batchDeleteCreatorUploadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户上传次数任务", System.currentTimeMillis()); return ReturnT.SUCCESS; } } From 38b7a89e602fa02e04e15d63147a99eca9a63578 Mon Sep 17 00:00:00 2001 From: qyhdd Date: Tue, 19 Jul 2022 16:42:13 +0800 Subject: [PATCH 29/32] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/constants/RedisKeyConstant.java | 104 ++++++++++++++++++ .../com/bnyer/file/service/IFileService.java | 6 + .../file/service/impl/FileServiceImpl.java | 69 +++++++----- .../bnyer/img/constants/RedisKeyConstant.java | 4 + .../img/controller/CreatorMiniController.java | 6 + .../com/bnyer/img/dto/CreatorDownloadDto.java | 27 +++++ .../img/service/CreatorProfitService.java | 7 ++ .../impl/CreatorProfitServiceImpl.java | 30 +++++ .../bnyer/img/task/UserDownloadSyncTask.java | 7 ++ 9 files changed, 235 insertions(+), 25 deletions(-) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java new file mode 100644 index 0000000..495eb85 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -0,0 +1,104 @@ +package com.bnyer.file.constants; + +public class RedisKeyConstant { + + + /** + * 抖音小程序用户收藏图片键 + */ + public static final String TIKTOK_USER_COLLECT_KEY = "bnyer.img.tiktok.collect:"; + + /** + * 抖音小程序图片收藏数量键 + */ + public static final String TIKTOK_IMG_COLLECT_NUM_KEY = "bnyer.img.tiktok.collectNum"; + + /** + * 快手小程序图片收藏数量键 + */ + public static final String FAST_HAND_IMG_COLLECT_NUM_KEY = "bnyer.img.fh.collectNum"; + + /** + * 微信小程序图片收藏数量键 + */ + public static final String WECHAT_IMG_COLLECT_NUM_KEY = "bnyer.img.wx.collectNum"; + + /** + * 抖音小程序用户点赞图片键 + */ + public static final String TIKTOK_USER_LIKE_KEY = "bnyer.img.tiktok.like"; + + /** + * 快手小程序用户点赞图片键 + */ + public static final String FAST_HAND_USER_LIKE_KEY = "bnyer.img.fh.like"; + + /** + * 微信小程序用户点赞图片键 + */ + public static final String WECHAT_USER_LIKE_KEY = "bnyer.img.wx.like"; + + /** + * 抖音小程序图片点赞数量键 + */ + public static final String TIKTOK_IMG_LIKE_NUM_KEY = "bnyer.img.tiktok.likeNum"; + + /** + * 快手小程序图片点赞数量键 + */ + public static final String FAST_HAND_IMG_LIKE_NUM_KEY = "bnyer.img.fh.likeNum"; + + /** + * 微信小程序图片点赞数量键 + */ + public static final String WECHAT_IMG_LIKE_NUM_KEY = "bnyer.img.wx.likeNum"; + + /** + * 抖音小程序图片下载数量键 + */ + 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:"; + + /** + * 抖音小程序用户登录键 + */ + public static final String TIKTOK_USER_LOGIN_KEY = "bnyer.img.tiktok.user:"; + + /** + * 快手小程序用户登录键 + */ + public static final String FH_USER_LOGIN_KEY = "bnyer.img.fh.user:"; + + /** + * 微信小程序用户登录键 + */ + public static final String WECHAT_USER_LOGIN_KEY = "bnyer.img.wx.user:"; + + /** + * 微信小程序艺术家登录键 + */ + public static final String WECHAT_CREATOR_LOGIN_KEY = "bnyer.img.wechat.creator:"; + + /** + * 微信小程序艺术家邀请键 + */ + public static final String WECHAT_CREATOR_INVITE_KEY = "bnyer.img.invite.creator:"; + + /** + * 审核收益锁键 + */ + public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:"; + + /** + * 平台用户下载键 + */ + public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index 530e4e3..c56e6e0 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -16,4 +16,10 @@ public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); //图片检测+图片上传+图片保存 void checkUploadSave(FileUploadDto fileUploadDto) throws IOException; + + /** + * 写入艺术家上传次数 + * @param creator 艺术家id + */ + void writeDownloadTotalNum(Long creator); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index bd806d8..2b5ec5c 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,5 +1,7 @@ package com.bnyer.file.service.impl; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.file.constants.RedisKeyConstant; import com.bnyer.file.dto.FileDto; import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; @@ -11,6 +13,7 @@ import com.bnyer.file.vo.TiktokImgVo; import com.bnyer.img.api.RemoteImgService; import com.bnyer.img.api.dto.TiktokImgMiniDto; import com.bnyer.system.api.RemoteFileService; +import lombok.extern.slf4j.Slf4j; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; @@ -22,7 +25,9 @@ import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.UUID; /** @@ -31,6 +36,7 @@ import java.util.UUID; * @Description: */ @Service("file") +@Slf4j public class FileServiceImpl implements IFileService { @Autowired private IQiniuService qiniuService; @@ -38,6 +44,8 @@ public class FileServiceImpl implements IFileService { private ITikTokImage tikTokImage; @Autowired private RemoteImgService remoteImgService; + @Autowired + private RedisService redisService; @Override public ArrayList checkImg(ArrayList multipartFiles) { ArrayList chekFileVos = new ArrayList<>(); @@ -49,13 +57,13 @@ public class FileServiceImpl implements IFileService { String filename = multipartFile.getResource().getFilename(); chekFileVo.setFileName(filename); String imageString = ImgUtil.getImageString(multipartFile); - String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," +imageString); - if (checkMsg.equals("pass")){ + String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," + imageString); + if (checkMsg.equals("pass")) { //抖音图片检测二次检测 // if (tikTokImage.checkImageContent(multipartFile)) { - //可以通过 - chekFileVo.setStatus("1"); - chekFileVos.add(chekFileVo); + //可以通过 + chekFileVo.setStatus("1"); + chekFileVos.add(chekFileVo); // }else { // //不可以通过 // chekFileVo.setStatus("2"); @@ -63,13 +71,13 @@ public class FileServiceImpl implements IFileService { // } continue; } - if (checkMsg.equals("review")){ + if (checkMsg.equals("review")) { //人工审核 chekFileVo.setStatus("0"); chekFileVos.add(chekFileVo); continue; } - if (checkMsg.equals("block")){ + if (checkMsg.equals("block")) { //不可通过 chekFileVo.setStatus("2"); chekFileVos.add(chekFileVo); @@ -81,25 +89,36 @@ public class FileServiceImpl implements IFileService { @Override @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { - ArrayList multipartFiles = new ArrayList<>(); - for (FileDto fileDto : fileUploadDto.getFiles()) { - InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); - MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); - //System.out.println(files.getSize()); - multipartFiles.add(files); - } + //redis累计平台用户当天下载次数,12.00后过期 + writeDownloadTotalNum(fileUploadDto.getCreatorId()); + ArrayList multipartFiles = new ArrayList<>(); + for (FileDto fileDto : fileUploadDto.getFiles()) { + InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); + MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); + //System.out.println(files.getSize()); + multipartFiles.add(files); + } - //检测图片 - for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { - //图片上传 - String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); - TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); - tiktokImg.setImgUrl(imgUrl); - tiktokImg.setStatus(chekFileVo.getStatus()); - tiktokImg.setTypeId(fileUploadDto.getTypeId()); - tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); - remoteImgService.insertTiktokImg(tiktokImg); - } + //检测图片 + for (ChekFileVo chekFileVo : checkImg(multipartFiles)) { + //图片上传 + String imgUrl = qiniuService.userUpload(chekFileVo.getFile()); + TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto(); + tiktokImg.setImgUrl(imgUrl); + tiktokImg.setStatus(chekFileVo.getStatus()); + tiktokImg.setTypeId(fileUploadDto.getTypeId()); + tiktokImg.setCreatorId(fileUploadDto.getCreatorId()); + remoteImgService.insertTiktokImg(tiktokImg); + } + } + + @Override + public void writeDownloadTotalNum(Long creator) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + log.info("日期【{}】艺术家【{}】下载数+1",date,creator); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + redisService.hashIncr(redisKey, creator.toString(), 1); } } 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 72cbdf5..a563643 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 @@ -97,4 +97,8 @@ public class RedisKeyConstant { * 平台用户下载键 */ public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:"; + /** + * 艺术家上传键 + */ + public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; } 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 3b91dec..8b273fd 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 @@ -340,4 +340,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } + @ApiOperation(value="检查某艺术家当日下载次数是否超标") + @PostMapping(value = "/checkCreatorCanDownload") + public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ + log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java new file mode 100644 index 0000000..426bd1a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java @@ -0,0 +1,27 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.annotation.Desensitized; +import com.bnyer.common.core.enums.SensitiveTypeEnum; +import com.bnyer.common.core.utils.Sm4Util; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.CreatorAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("艺术家下载次数接收类") +public class CreatorDownloadDto implements Serializable { + + @ApiModelProperty(value="艺术家id") + @NotBlank + private Long creatorId; + + +} 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 7f66e0b..31bfcdc 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 @@ -185,4 +185,11 @@ public interface CreatorProfitService { * @return - */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); + + boolean checkCreatorCanDownload(Long creatorId); + + /** + * 批量删除昨日艺术家上传次数 + */ + void batchDeleteCreatorDownloadNum(); } 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 47de8b9..4852b1d 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 @@ -364,4 +364,34 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) { return creatorProfitMapper.queryFrontEndAmtDetails(id); } + + @Override + public boolean checkCreatorCanDownload(Long creatorId) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasHashKey(redisKey,creatorId.toString())){ + //存在键,判断次数,次数达标则不可下载 + Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); + return downloadNum >= 40; + }else{ + //不存在键则可下载 + return false; + } + } + + @Override + public void batchDeleteCreatorDownloadNum() { + log.info("==============批量删除昨日艺术家上传次数开始!==============="); + long startTime = System.currentTimeMillis(); + //获取昨日日期 + Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String date = simpleDateFormat.format(yesterday); + String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; + if(redisService.hasKey(redisKey)){ + redisService.deleteObject(redisKey); + } + log.info("==============批量删除昨日艺术家上传次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java index 1d31f96..e682b71 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java @@ -26,4 +26,11 @@ public class UserDownloadSyncTask { XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); return ReturnT.SUCCESS; } + + @XxlJob("creatorDownloadSyncTask") + public ReturnT syncCreatorDownload(String param) throws Exception { + creatorProfitService.batchDeleteCreatorDownloadNum(); + XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis()); + return ReturnT.SUCCESS; + } } From aa25c0dff0f8830986066e7ab5a27bc36eaa9693 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 21:39:28 +0800 Subject: [PATCH 30/32] =?UTF-8?q?feature-img-quan-1.0.0:=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/file/constants/RedisKeyConstant.java | 2 +- .../java/com/bnyer/file/service/IFileService.java | 4 ++-- .../com/bnyer/file/service/impl/FileServiceImpl.java | 10 +++++----- .../bnyer/img/controller/CreatorMiniController.java | 11 +++++------ ...CreatorDownloadDto.java => CreatorUploadDto.java} | 8 ++++---- .../com/bnyer/img/service/CreatorProfitService.java | 7 ++++++- .../img/service/impl/CreatorProfitServiceImpl.java | 12 ++++++++---- 7 files changed, 31 insertions(+), 23 deletions(-) rename bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/{CreatorDownloadDto.java => CreatorUploadDto.java} (72%) diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java index 495eb85..14ea436 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java @@ -100,5 +100,5 @@ public class RedisKeyConstant { /** * 艺术家上传键 */ - public static final String CREATOR_DOWNLOAD_KEY="bnyer.img.createor.download"; + public static final String CREATOR_UPLOAD_KEY="bnyer.img.createor.upload"; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index c56e6e0..12cb86b 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -19,7 +19,7 @@ public interface IFileService { /** * 写入艺术家上传次数 - * @param creator 艺术家id + * @param creatorId 艺术家id */ - void writeDownloadTotalNum(Long creator); + void writeUploadTotalNum(Long creatorId); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 2b5ec5c..f3764f8 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -90,7 +90,7 @@ public class FileServiceImpl implements IFileService { @Async("mySimpleAsync") public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException { //redis累计平台用户当天下载次数,12.00后过期 - writeDownloadTotalNum(fileUploadDto.getCreatorId()); + writeUploadTotalNum(fileUploadDto.getCreatorId()); ArrayList multipartFiles = new ArrayList<>(); for (FileDto fileDto : fileUploadDto.getFiles()) { InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes()); @@ -113,12 +113,12 @@ public class FileServiceImpl implements IFileService { } @Override - public void writeDownloadTotalNum(Long creator) { + public void writeUploadTotalNum(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); - log.info("日期【{}】艺术家【{}】下载数+1",date,creator); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - redisService.hashIncr(redisKey, creator.toString(), 1); + log.info("日期【{}】艺术家【{}】下载数+1",date,creatorId); + String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; + redisService.hashIncr(redisKey, creatorId.toString(), 1); } } 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 8b273fd..b06d8e1 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 @@ -6,7 +6,6 @@ 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.constants.TiktokConstant; -import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.dto.*; import com.bnyer.img.service.*; import com.github.pagehelper.PageHelper; @@ -340,10 +339,10 @@ public class CreatorMiniController extends BaseController { } return AjaxResult.error(); } - @ApiOperation(value="检查某艺术家当日下载次数是否超标") - @PostMapping(value = "/checkCreatorCanDownload") - public AjaxResult checkCreatorCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorDownloadDto dto){ - log.debug("【微信图文小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(creatorProfitService.checkCreatorCanDownload(dto.getCreatorId())); + @ApiOperation(value="检查某艺术家当日上传次数是否超标") + @PostMapping(value = "/checkCreatorCanUpload") + public AjaxResult checkCreatorCanUpload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorUploadDto dto){ + log.debug("【艺术家小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(creatorProfitService.checkCreatorCanUpload(dto.getCreatorId())); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java similarity index 72% rename from bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java rename to bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java index 426bd1a..75268f2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDownloadDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java @@ -10,17 +10,17 @@ 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; @Getter @Setter -@ApiModel("艺术家下载次数接收类") -public class CreatorDownloadDto implements Serializable { +@ApiModel("艺术家上传次数接收类") +public class CreatorUploadDto implements Serializable { @ApiModelProperty(value="艺术家id") - @NotBlank + @NotNull(message = "艺术家id不能为空!") private Long creatorId; 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 31bfcdc..a63e879 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 @@ -186,7 +186,12 @@ public interface CreatorProfitService { */ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id); - boolean checkCreatorCanDownload(Long creatorId); + /** + * 检查艺术家上传是否超标 + * @param creatorId 艺术家id + * @return - + */ + boolean checkCreatorCanUpload(Long creatorId); /** * 批量删除昨日艺术家上传次数 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 4852b1d..7532ecb 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 @@ -366,16 +366,20 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { } @Override - public boolean checkCreatorCanDownload(Long creatorId) { + public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - if(redisService.hasHashKey(redisKey,creatorId.toString())){ + if (redisService.hasHashKey(redisKey, creatorId.toString())) { //存在键,判断次数,次数达标则不可下载 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); - return downloadNum >= 40; + if (downloadNum >= 40) { + return true; + } else { + return false; + } }else{ - //不存在键则可下载 + //不存在键则可上传 return false; } } From a9fdb310f4bb5264df6a6628f31e0721c7ffc63c Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Tue, 19 Jul 2022 22:30:53 +0800 Subject: [PATCH 31/32] =?UTF-8?q?feature-1.0-img:=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=89=BA=E6=9C=AF=E5=AE=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CreatorProfitServiceImpl.java | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) 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 41d3e9c..36af11b 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 @@ -365,47 +365,13 @@ public class CreatorProfitServiceImpl implements CreatorProfitService { return creatorProfitMapper.queryFrontEndAmtDetails(id); } - @Override - public boolean checkCreatorCanUpload(Long creatorId) { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - String date = df.format(new Date()); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - if (redisService.hasHashKey(redisKey, creatorId.toString())) { - //存在键,判断次数,次数达标则不可下载 - Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); - if (downloadNum >= 40) { - return true; - } else { - return false; - } - }else{ - //不存在键则可上传 - return false; - } - } - - @Override - public void batchDeleteCreatorDownloadNum() { - log.info("==============批量删除昨日艺术家上传次数开始!==============="); - long startTime = System.currentTimeMillis(); - //获取昨日日期 - Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - String date = simpleDateFormat.format(yesterday); - String redisKey = RedisKeyConstant.CREATOR_DOWNLOAD_KEY + date; - if(redisService.hasKey(redisKey)){ - redisService.deleteObject(redisKey); - } - log.info("==============批量删除昨日艺术家上传次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime); - } - @Override public boolean checkCreatorCanUpload(Long creatorId) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String date = df.format(new Date()); String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date; if (redisService.hasHashKey(redisKey, creatorId.toString())) { - //存在键,判断次数,次数达标则不可上传 + //存在键,判断次数,次数达标则不可下载 Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString()); if (downloadNum >= 40) { return true; From bd541b244f9366211ac5c92d7940b0ce21529c84 Mon Sep 17 00:00:00 2001 From: penny <2500338766@qq.com> Date: Sun, 24 Jul 2022 20:36:42 +0800 Subject: [PATCH 32/32] =?UTF-8?q?feature-1.0-img:=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=9B=BE=E9=9B=86=E5=88=86=E9=A1=B5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img/controller/FhMiniController.java | 9 ++++++ .../img/controller/TiktokMiniController.java | 9 ++++++ .../img/controller/WxMiniController.java | 9 ++++++ .../com/bnyer/img/dto/SignImgNamePageDto.java | 19 +++++++++++ .../com/bnyer/img/mapper/TiktokImgMapper.java | 7 ++++ .../bnyer/img/service/TiktokImgService.java | 9 +++++- .../service/impl/TiktokImgServiceImpl.java | 5 +++ .../com/bnyer/img/mapper/TiktokImgMapper.xml | 32 +++++++++++++++++++ 8 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index c31bace..9da6178 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -267,6 +267,15 @@ public class FhMiniController extends BaseController { return getDataTable(tiktokImgs); } + //@TokenCheck + @ApiOperation(value="根据标签名称查询图片分页") + @PostMapping(value = "/querySignImgBySignName") + public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName()); + return getDataTable(tiktokImgs); + } + //@TokenCheck @ApiOperation(value = "八字算命") @PostMapping("/getYs") 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 e4ba90a..231df9f 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 @@ -270,6 +270,15 @@ public class TiktokMiniController extends BaseController { return getDataTable(tiktokImgs); } + //@TokenCheck + @ApiOperation(value="根据标签名称查询图片分页") + @PostMapping(value = "/querySignImgBySignName") + public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName()); + return getDataTable(tiktokImgs); + } + //@TokenCheck @ApiOperation(value = "八字算命") @PostMapping("/getYs") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index f88254d..ceb2bfb 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -267,6 +267,15 @@ public class WxMiniController extends BaseController { return getDataTable(tiktokImgs); } + //@TokenCheck + @ApiOperation(value="根据标签名称查询图片分页") + @PostMapping(value = "/querySignImgBySignName") + public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName()); + return getDataTable(tiktokImgs); + } + //@TokenCheck @ApiOperation(value = "八字算命") @PostMapping("/getYs") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java new file mode 100644 index 0000000..c2b1324 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java @@ -0,0 +1,19 @@ +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; + +@Getter +@Setter +@ApiModel("标签图片分页根据标签名称接收类") +public class SignImgNamePageDto extends BasePageDto { + + @NotBlank(message = "标签名称不能为空!") + @ApiModelProperty(value="标签名称") + private String signName; + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java index 2b94881..ddf4bad 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java @@ -77,4 +77,11 @@ public interface TiktokImgMapper extends BaseMapper { * @return - */ List querySignImgBySignIdAndTypeId(@Param("signId") Long signId,@Param("typeId") Long typeId); + + /** + * 根据标签名称查询图片 + * @param signName 标签名称 + * @return - + */ + List queryImgPageBySignName(@Param("signName") String signName); } 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 b462919..cb9e4d4 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 @@ -135,10 +135,17 @@ public interface TiktokImgService { int onlineOrOfflineImg(StatusDto param); /** - * 根据分类id和便签Id查询图片分页 + * 根据分类id和标签Id查询图片分页 * @param signId 标签id * @param typeId 分类id * @return - */ List querySignImgBySignIdAndTypeId(Long signId, Long typeId); + + /** + * 根据标签名称查询图片 + * @param signName 标签名称 + * @return - + */ + List queryImgPageBySignName(String signName); } 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 132d5a5..d7c340a 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 @@ -252,4 +252,9 @@ public class TiktokImgServiceImpl implements TiktokImgService { return tiktokImgMapper.querySignImgBySignIdAndTypeId(signId,typeId); } + @Override + public List queryImgPageBySignName(String signName) { + return tiktokImgMapper.queryImgPageBySignName(signName); + } + } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml index 8c3df61..e3a1e8a 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml @@ -43,6 +43,21 @@ + + + + + + + + + + + + + + + id, img_url, creator_id, type_id, download_num, great_num, collection_num, `status`, @@ -145,4 +160,21 @@ where iti.id in (select img_id from img_img_sign_relation where sign_id = #{signId} and type_id = #{typeId}) +