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 new file mode 100644 index 0000000..fb33b40 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java @@ -0,0 +1,51 @@ +package com.bnyer.img.config; + +import cn.binarywang.wx.miniapp.api.WxMaService; +import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; +import cn.binarywang.wx.miniapp.config.WxMaConfig; +import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; +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.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @author chengkun + * @date 2022/4/21 17:43 + */ +@Configuration +@ConfigurationProperties(prefix = "bnyer.img.wechat") +@Getter +@RefreshScope +public class WxConfig { + + @Value("${bnyer.img.wechat.appId}") + private String appId; + + @Value("${bnyer.img.wechat.secret}") + public String secret; + + @Value("${bnyer.img.wechat.sessionInfoUrl}") + public String sessionInfoUrl; + + @Value("${bnyer.img.wechat.tokenUrl}") + public String tokenUrl; + + @Bean + public WxMaConfig wxMaConfig() { + WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); + config.setAppid(appId); + config.setSecret(secret); + return config; + } + + @Bean + public WxMaService wxMaService(WxMaConfig maConfig) { + WxMaService service = new WxMaServiceImpl(); + service.setWxMaConfig(maConfig); + return service; + } + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/PlatformConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/PlatformConstant.java new file mode 100644 index 0000000..374efd3 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/PlatformConstant.java @@ -0,0 +1,27 @@ +package com.bnyer.img.constants; + +/** + * 平台常量 + * @author chengkun + * @date 2022/4/21 18:12 + */ +public class PlatformConstant { + + /** + * 抖音 + */ + public static final String TIKTOK = "0"; + + /** + * 快手 + */ + public static final String FAST_HAND = "1"; + + /** + * 微信 + */ + public static final String WECHAT = "2"; + + + +} 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 10c893c..3d4d4cf 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 @@ -13,16 +13,46 @@ public class RedisKeyConstant { */ 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"; + /** * 抖音小程序图片下载数量键 */ @@ -38,6 +68,11 @@ public class RedisKeyConstant { */ public static final String TIKTOK_USER_LOGIN_KEY = "bnyer.img.tiktok.user:"; + /** + * 抖音小程序用户登录键 + */ + public static final String WECHAT_USER_LOGIN_KEY = "bnyer.img.wx.user:"; + /** * 微信小程序艺术家登录键 */ 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 4c7b3cd..f5b34f9 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 @@ -116,8 +116,8 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="收藏") @PostMapping(value = "/tiktokCollect") public AjaxResult tiktokCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ - tiktokCollectionService.collect(dto.getUserId(),dto.getImgId()); - log.info("【抖音图文小程序】用户【{}】收藏了图片【{}】",dto.getUserId(),dto.getImgId()); + tiktokCollectionService.collect(dto.getUserId(),dto.getImgId(),"0"); + log.debug("【抖音图文小程序】用户【{}】收藏了图片【{}】",dto.getUserId(),dto.getImgId()); return AjaxResult.success(); } @@ -125,8 +125,8 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="取消收藏") @PostMapping(value = "/tiktokUnCollect") public AjaxResult tiktokUnCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ - tiktokCollectionService.unCollect(dto.getUserId(),dto.getImgId()); - log.info("【抖音图文小程序】用户【{}】取消收藏了图片【{}】",dto.getUserId(),dto.getImgId()); + tiktokCollectionService.unCollect(dto.getUserId(),dto.getImgId(),"0"); + log.debug("【抖音图文小程序】用户【{}】取消收藏了图片【{}】",dto.getUserId(),dto.getImgId()); return AjaxResult.success(); } @@ -134,24 +134,24 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="查询是否收藏过") @PostMapping(value = "/judgeTiktokCollect") public AjaxResult judgeTiktokCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ - log.info("【抖音图文小程序】查询是否收藏过参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(tiktokCollectionService.judgeCollect(dto.getUserId(),dto.getImgId())); + log.debug("【抖音图文小程序】查询是否收藏过参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(tiktokCollectionService.judgeCollect(dto.getUserId(),dto.getImgId(),"0")); } //@TokenCheck @ApiOperation(value="查看用户收藏列表") @PostMapping(value = "/listTiktokCollection") public AjaxResult listTiktokCollection(@Validated @RequestBody @ApiParam("用户收藏对象") CollectionUserDto dto){ - log.info("【抖音图文小程序】查看用户【{}】收藏列表", dto.getUserId()); - return AjaxResult.success(tiktokCollectionService.getCollectionByUserId(dto.getUserId())); + log.debug("【抖音图文小程序】查看用户【{}】收藏列表", dto.getUserId()); + return AjaxResult.success(tiktokCollectionService.getCollectionByUserId(dto.getUserId(),"0")); } //@TokenCheck @ApiOperation(value="点赞") @PostMapping(value = "/tiktokLike") public AjaxResult tiktokLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ - tiktokLikeService.like(dto.getUserId(),dto.getImgId()); - log.info("【抖音图文小程序】用户【{}】点赞了图片【{}】",dto.getUserId(),dto.getImgId()); + tiktokLikeService.like(dto.getUserId(),dto.getImgId(),"0"); + log.debug("【抖音图文小程序】用户【{}】点赞了图片【{}】",dto.getUserId(),dto.getImgId()); return AjaxResult.success(); } @@ -159,8 +159,8 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="取消点赞") @PostMapping(value = "/tiktokUnLike") public AjaxResult tiktokUnLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ - tiktokLikeService.unLike(dto.getUserId(),dto.getImgId()); - log.info("【抖音图文小程序】用户【{}】取消点赞了图片【{}】",dto.getUserId(),dto.getImgId()); + tiktokLikeService.unLike(dto.getUserId(),dto.getImgId(),"0"); + log.debug("【抖音图文小程序】用户【{}】取消点赞了图片【{}】",dto.getUserId(),dto.getImgId()); return AjaxResult.success(); } @@ -168,8 +168,8 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="查询是否点赞过") @PostMapping(value = "/judgeTiktokLike") public AjaxResult judgeTiktokLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ - log.info("【抖音图文小程序】查询是否点赞过参数为:{}", JSON.toJSONString(dto)); - return AjaxResult.success(tiktokLikeService.judgeLike(dto.getUserId(),dto.getImgId())); + log.debug("【抖音图文小程序】查询是否点赞过参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(tiktokLikeService.judgeLike(dto.getUserId(),dto.getImgId(),"0")); } @ApiOperation(value="用户登录") @@ -192,7 +192,7 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="新增/更新艺术家即将入账广告收益") @PostMapping(value = "/insertOrUpdatePreAdProfit") public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){ - log.info("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); + log.debug("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto)); return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam())); } @@ -200,7 +200,7 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="新增/更新艺术家即将入账邀请收益") @PostMapping(value = "/insertOrUpdatePreInviteProfit") public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){ - log.info("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); + log.debug("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); creatorProfitService.insertInvitedProfit(dto.extractParam()); return AjaxResult.success(); } @@ -222,6 +222,5 @@ public class TiktokMiniController extends BaseController { }else{ return AjaxResult.error("该艺术家不存在!"); } - } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java index e930e3d..1121381 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java @@ -32,7 +32,7 @@ public class TiktokUserController extends BaseController { private TiktokUserService tiktokUserService; //@RequiresPermissions("system:config:list") - @ApiOperation(value="查询user分页") + @ApiOperation(value="查询抖音用户分页") @PostMapping("/page") public TableDataInfo pageTiktokUser(@RequestBody @ApiParam("分页对象") TiktokUserPageDto dto){ PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); @@ -48,26 +48,30 @@ public class TiktokUserController extends BaseController { } //@RequiresPermissions("system:config:list") - @ApiOperation(value="修改user") + @ApiOperation(value="修改抖音用户") @PostMapping(value = "/update") public AjaxResult update(@RequestBody @ApiParam("user对象") TiktokUserDto dto){ - log.debug("【图文平台后台】修改user参数为:{}", JSON.toJSONString(dto)); + log.debug("【图文平台后台】修改抖音用户参数为:{}", JSON.toJSONString(dto)); return AjaxResult.success(tiktokUserService.update(dto.extractParam())); } //@RequiresPermissions("system:config:list") - @ApiOperation(value="删除user") + @ApiOperation(value="删除抖音用户") @DeleteMapping(value = "/delete/{ids}") public AjaxResult deleteTiktokUser(@PathVariable @ApiParam("主键ids") List ids){ - log.debug("【图文平台后台】删除user参数为:{}", ids); + log.debug("【图文平台后台】删除抖音用户参数为:{}", ids); return AjaxResult.success(tiktokUserService.delete(ids)); } //@RequiresPermissions("system:config:list") - @ApiOperation(value="查询user详情") + @ApiOperation(value="查询抖音用户详情") @GetMapping(value = "/details/{id}") public AjaxResult detailsTiktokUser(@PathVariable @ApiParam("主键id") Long id){ - return AjaxResult.success(tiktokUserService.queryDetails(id)); + TiktokUser user = tiktokUserService.queryDetails(id); + if(StringUtils.isNotBlank(user.getTiktokCode())){ + user.setTiktokCode(Sm4Util.sm4Decrypt(user.getTiktokCode())); + } + return AjaxResult.success(user); } //@RequiresPermissions("system:config:list") 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 new file mode 100644 index 0000000..85fe033 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -0,0 +1,225 @@ +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.Feedback; +import com.bnyer.img.dto.*; +import com.bnyer.img.service.*; +import com.bnyer.img.vo.CreatorTypeImgsVo; +import com.bnyer.img.vo.TiktokImgVo; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Api(value = "【微信小程序】接口",tags = "【微信小程序】接口") +@RestController +@RequestMapping("/img/mini/wx") +@Slf4j +public class WxMiniController extends BaseController { + + @Autowired + private BannerService bannerService; + + @Autowired + private FeedBackService feedBackService; + + @Autowired + private TypeService typeService; + + @Autowired + private TiktokImgService tiktokImgService; + + @Autowired + private WxUserService wxUserService; + + @Autowired + private CreatorService creatorService; + + @Autowired + private TiktokCollectionService tiktokCollectionService; + + @Autowired + private TiktokLikeService tiktokLikeService; + + @Autowired + private CreatorProfitService creatorProfitService; + + //@TokenCheck + @ApiOperation(value="查询banner列表") + @GetMapping(value = "/listBanner") + public AjaxResult listBanner(){ + return AjaxResult.success(bannerService.queryList("3")); + } + + @ApiOperation(value="新增feedback") + @PostMapping(value = "/insertFeedback") + public AjaxResult insertFeedback(@Validated @RequestBody @ApiParam("feedback对象") FeedBackDto dto){ + log.info("【微信图文小程序】新增反馈参数为:{}", JSON.toJSONString(dto)); + Feedback feedback = dto.extractParam(); + feedback.setSource("2"); + return AjaxResult.success(feedBackService.insert(feedback)); + } + + //@TokenCheck + @ApiOperation(value="查询type列表") + @GetMapping(value = "/listType") + public AjaxResult listType(){ + return AjaxResult.success(typeService.queryList()); + } + + //@TokenCheck + @ApiOperation(value="查询指定艺术家图片集合") + @PostMapping(value = "/listTiktokImgOut") + public AjaxResult listTiktokImgOut(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgListMiniDto dto){ + return AjaxResult.success(tiktokImgService.queryOutList(dto.getCreatorId(),dto.getTypeId())); + } + + //@TokenCheck + @ApiOperation(value="查询图片详情") + @GetMapping(value = "/detailsTiktokImg/{id}") + public AjaxResult detailsTiktokImg(@ApiParam("图片id") @PathVariable Long id){ + return AjaxResult.success(tiktokImgService.queryImgDetails(String.valueOf(id))); + } + + //@TokenCheck + @ApiOperation(value="艺术家界面查询艺术家图片分页") + @PostMapping(value = "/creatorImgsPage") + public TableDataInfo creatorImgsPage(@RequestBody @ApiParam("分页对象") BasePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + return getDataTable(creatorService.queryThreeImgCreatorList()); + } + + //@TokenCheck + @ApiOperation(value="根据搜索码查询艺术家图片列表") + @PostMapping(value = "/creatorImgsDetails") + public AjaxResult creatorImgsDetails(@Validated @RequestBody @ApiParam("搜索码对象") CreatorImgsDetailsDto params){ + CreatorTypeImgsVo creatorVo = creatorService.queryCreatorImgListByScanCode(params.getScanCode()); + if(creatorVo == null){ + return AjaxResult.error(TiktokConstant.TIKTOK_CREATOR_NOT_EXIST,"该艺术家不存在!"); + } + return AjaxResult.success(creatorVo); + } + + //@TokenCheck + @ApiOperation(value="收藏") + @PostMapping(value = "/tiktokCollect") + public AjaxResult tiktokCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ + tiktokCollectionService.collect(dto.getUserId(),dto.getImgId(),"2"); + log.debug("【微信图文小程序】用户【{}】收藏了图片【{}】",dto.getUserId(),dto.getImgId()); + return AjaxResult.success(); + } + + //@TokenCheck + @ApiOperation(value="取消收藏") + @PostMapping(value = "/tiktokUnCollect") + public AjaxResult tiktokUnCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ + tiktokCollectionService.unCollect(dto.getUserId(),dto.getImgId(),"2"); + log.debug("【微信图文小程序】用户【{}】取消收藏了图片【{}】",dto.getUserId(),dto.getImgId()); + return AjaxResult.success(); + } + + //@TokenCheck + @ApiOperation(value="查询是否收藏过") + @PostMapping(value = "/judgeTiktokCollect") + public AjaxResult judgeTiktokCollect(@Validated @RequestBody @ApiParam("收藏对象") CollectionDto dto){ + log.debug("【微信图文小程序】查询是否收藏过参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(tiktokCollectionService.judgeCollect(dto.getUserId(),dto.getImgId(),"2")); + } + + //@TokenCheck + @ApiOperation(value="查看用户收藏列表") + @PostMapping(value = "/listTiktokCollection") + public AjaxResult listTiktokCollection(@Validated @RequestBody @ApiParam("用户收藏对象") CollectionUserDto dto){ + log.debug("【微信图文小程序】查看用户【{}】收藏列表", dto.getUserId()); + return AjaxResult.success(tiktokCollectionService.getCollectionByUserId(dto.getUserId(),"2")); + } + + //@TokenCheck + @ApiOperation(value="点赞") + @PostMapping(value = "/tiktokLike") + public AjaxResult tiktokLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ + tiktokLikeService.like(dto.getUserId(),dto.getImgId(),"2"); + log.debug("【微信图文小程序】用户【{}】点赞了图片【{}】",dto.getUserId(),dto.getImgId()); + return AjaxResult.success(); + } + + //@TokenCheck + @ApiOperation(value="取消点赞") + @PostMapping(value = "/tiktokUnLike") + public AjaxResult tiktokUnLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ + tiktokLikeService.unLike(dto.getUserId(),dto.getImgId(),"2"); + log.debug("【微信图文小程序】用户【{}】取消点赞了图片【{}】",dto.getUserId(),dto.getImgId()); + return AjaxResult.success(); + } + + //@TokenCheck + @ApiOperation(value="查询是否点赞过") + @PostMapping(value = "/judgeTiktokLike") + public AjaxResult judgeTiktokLike(@Validated @RequestBody @ApiParam("点赞对象") CollectionDto dto){ + log.debug("【微信图文小程序】查询是否点赞过参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(tiktokLikeService.judgeLike(dto.getUserId(),dto.getImgId(),"2")); + } + + @ApiOperation(value="用户登录") + @PostMapping(value = "/loginWx") + public AjaxResult loginWx(@Validated @RequestBody @ApiParam("登录对象") WxLoginDto dto){ + log.info("【微信图文小程序】用户【{}】授权登录了", dto.getCode()); + return AjaxResult.success(wxUserService.login(dto)); + } + + //@TokenCheck + @ApiOperation(value="查询首页图片列表") + @PostMapping(value = "/imgLists") + public TableDataInfo imgLists(@RequestBody @ApiParam("分页对象") BasePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List tiktokImgVos = tiktokImgService.queryFrontPage(); + return getDataTable(tiktokImgVos); + } + + //@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())); + } + + //@TokenCheck + @ApiOperation(value="新增/更新艺术家即将入账邀请收益") + @PostMapping(value = "/insertOrUpdatePreInviteProfit") + public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){ + log.debug("【微信图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto)); + creatorProfitService.insertInvitedProfit(dto.extractParam()); + return AjaxResult.success(); + } + + //@TokenCheck + @ApiOperation(value="查询热门艺术家列表") + @GetMapping(value = "/listHotCreator") + public AjaxResult listHotCreator(){ + return AjaxResult.success(creatorService.queryHotCreatorList()); + } + + //@TokenCheck + @ApiOperation(value="根据艺术家id获取搜索码") + @GetMapping(value = "/queryCreatorScanCodeById/{id}") + public AjaxResult queryCreatorScanCodeById(@PathVariable @ApiParam("艺术家id") Long id){ + Map result = creatorService.queryCreatorScanCodeById(id); + if(result != null){ + return AjaxResult.success(result); + }else{ + return AjaxResult.error("该艺术家不存在!"); + } + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxUserController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxUserController.java new file mode 100644 index 0000000..961508d --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxUserController.java @@ -0,0 +1,84 @@ +package com.bnyer.img.controller; + +import com.alibaba.fastjson.JSON; +import com.bnyer.common.core.utils.Sm4Util; +import com.bnyer.common.core.utils.StringUtils; +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.WxUser; +import com.bnyer.img.dto.StatusDto; +import com.bnyer.img.dto.WxUserDto; +import com.bnyer.img.dto.WxUserPageDto; +import com.bnyer.img.service.WxUserService; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(value = "【图文平台】微信用户接口",tags = "【图文平台】微信用户接口") +@RestController +@RequestMapping("/img/wxUser") +@Slf4j +public class WxUserController extends BaseController { + + @Autowired + private WxUserService wxUserService; + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询微信用户分页") + @PostMapping("/page") + public TableDataInfo pageWxUser(@RequestBody @ApiParam("分页对象") WxUserPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List wxUsers = wxUserService.queryPage(dto); + for (WxUser wxUser : wxUsers) { + if(wxUser != null){ + if(StringUtils.isNotBlank(wxUser.getWxCode())){ + wxUser.setWxCode(Sm4Util.sm4Decrypt(wxUser.getWxCode())); + } + } + } + return getDataTable(wxUsers); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="修改微信用户") + @PostMapping(value = "/update") + public AjaxResult update(@RequestBody @ApiParam("user对象") WxUserDto dto){ + log.debug("【图文平台后台】修改微信用户参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(wxUserService.update(dto.extractParam())); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="删除微信用户") + @DeleteMapping(value = "/delete/{ids}") + public AjaxResult deleteWxUser(@PathVariable @ApiParam("主键ids") List ids){ + log.debug("【图文平台后台】删除微信用户参数为:{}", ids); + return AjaxResult.success(wxUserService.delete(ids)); + } + + //@RequiresPermissions("system:config:list") + @ApiOperation(value="查询微信用户详情") + @GetMapping(value = "/details/{id}") + public AjaxResult detailsWxUser(@PathVariable @ApiParam("主键id") Long id){ + WxUser wxUser = wxUserService.queryDetails(id); + if(StringUtils.isNotBlank(wxUser.getWxCode())){ + wxUser.setWxCode(Sm4Util.sm4Decrypt(wxUser.getWxCode())); + } + return AjaxResult.success(wxUser); + } + + //@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(wxUserService.changeStatus(dto.getId(),dto.getStatus())); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java index 94e05a7..8aca3a3 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/CreatorProfit.java @@ -76,10 +76,10 @@ public class CreatorProfit extends BaseDomain { private String platform; /** - * 应用类型(0->次元壁纸) + * 应用类型(0->节点壁纸) */ @TableField(value = "app_type") - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; /** diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/FhUser.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/FhUser.java new file mode 100644 index 0000000..9fc5efb --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/FhUser.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 java.io.Serializable; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +/** + * @author chengkun + * @date 2022/7/4 13:58 + */ +/** + * img快手平台用户表 + */ +@ApiModel(value="com-bnyer-img-domain-FhUser") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_fh_user") +public class FhUser extends BaseDomain { + /** + * id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="id") + private Long id; + + /** + * 用户昵称 + */ + @TableField(value = "username") + @ApiModelProperty(value="用户昵称") + private String username; + + /** + * 快手id + */ + @TableField(value = "fh_code") + @ApiModelProperty(value="快手id") + private String fhCode; + + /** + * 头像img地址 + */ + @TableField(value = "img") + @ApiModelProperty(value="头像img地址") + private String img; + + private static final long serialVersionUID = 1L; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokCollection.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokCollection.java index 167cac5..8885456 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokCollection.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokCollection.java @@ -14,7 +14,7 @@ import lombok.*; @ToString @AllArgsConstructor @NoArgsConstructor -@TableName(value = "img_tiktok_collection") +@TableName(value = "img_collection") public class TiktokCollection extends BaseDomain { /** * id @@ -37,5 +37,12 @@ public class TiktokCollection extends BaseDomain { @ApiModelProperty(value="图片id") private Long imgId; + /** + * 平台(0->抖音;1->快手;2->微信) + */ + @TableField(value = "platform") + @ApiModelProperty(value="平台(0->抖音;1->快手;2->微信)") + private String platform; + 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/TiktokLike.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokLike.java index 34a0a34..0ec4842 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokLike.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokLike.java @@ -23,7 +23,7 @@ import java.io.Serializable; @ToString @AllArgsConstructor @NoArgsConstructor -@TableName(value = "img_tiktok_like") +@TableName(value = "img_like") public class TiktokLike extends BaseDomain { /** * 主键 @@ -47,11 +47,11 @@ public class TiktokLike extends BaseDomain { private Long imgId; /** - * 是否显示 (0->隐藏;1->显示) + * 平台(0->抖音;1->快手;2->微信) */ - @TableField(value = "is_show") - @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") - private String isShow; + @TableField(value = "platform") + @ApiModelProperty(value="平台(0->抖音;1->快手;2->微信)") + private String platform; 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/WxUser.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/WxUser.java new file mode 100644 index 0000000..d8c4dff --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/WxUser.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 java.io.Serializable; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +/** + * @author chengkun + * @date 2022/7/4 13:58 + */ +/** + * img微信平台用户表 + */ +@ApiModel(value="com-bnyer-img-domain-WxUser") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_wx_user") +public class WxUser extends BaseDomain { + /** + * id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="id") + private Long id; + + /** + * 用户昵称 + */ + @TableField(value = "username") + @ApiModelProperty(value="用户昵称") + private String username; + + /** + * 微信id + */ + @TableField(value = "wx_code") + @ApiModelProperty(value="微信id") + private String wxCode; + + /** + * 头像img地址 + */ + @TableField(value = "img") + @ApiModelProperty(value="头像img地址") + private String img; + + private static final long serialVersionUID = 1L; +} 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 d65a415..98251d3 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 @@ -34,7 +34,7 @@ public class CreatorProfitAdInsertDto implements Serializable { private String platform; @NotBlank(message = "应用类型不能为空!") - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; public CreatorProfit extractParam(){ diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitPageDto.java index d97206d..34350d4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitPageDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitPageDto.java @@ -19,7 +19,7 @@ public class CreatorProfitPageDto extends BasePageDto { @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") private String platform; - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java index f8d484b..c409dc2 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitUpdateDto.java @@ -45,7 +45,7 @@ public class CreatorProfitUpdateDto implements Serializable { private String platform; @NotBlank(message = "应用类型不能为空!") - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @NotBlank(message = "收益类型不能为空!") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhLoginDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhLoginDto.java new file mode 100644 index 0000000..33e05d3 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhLoginDto.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 FhLoginDto implements Serializable { + + @NotNull(message = "code不能为空!") + @ApiModelProperty(value = "微信code") + private String code; + + @NotNull(message = "加密数据不能为空!") + @ApiModelProperty(value = "加密数据") + private String encryptedData; + + @NotNull(message = "加密算法向量不能为空!") + @ApiModelProperty(value = "加密算法向量") + private String iv; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhUserPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhUserPageDto.java new file mode 100644 index 0000000..d8b65bb --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FhUserPageDto.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; + + +@Getter +@Setter +@ApiModel("快手用户分页接收类") +public class FhUserPageDto extends BasePageDto { + + @ApiModelProperty(value="用户昵称") + private String username; + + @ApiModelProperty(value="是否展示") + private String isShow; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserDto.java new file mode 100644 index 0000000..4bfaade --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserDto.java @@ -0,0 +1,35 @@ +package com.bnyer.img.dto; + +import com.bnyer.common.core.utils.bean.BeanUtils; +import com.bnyer.img.domain.WxUser; +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 WxUserDto implements Serializable { + + @ApiModelProperty(value="id") + private Long id; + + @ApiModelProperty(value="用户昵称") + private String username; + + @ApiModelProperty(value="微信id") + private String wxCode; + + @ApiModelProperty(value="头像img地址") + private String img; + + public WxUser extractParam(){ + WxUser wxUser = new WxUser(); + BeanUtils.copyProperties(this, wxUser); + return wxUser; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserPageDto.java new file mode 100644 index 0000000..b0df92a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WxUserPageDto.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; + + +@Getter +@Setter +@ApiModel("微信用户分页接收类") +public class WxUserPageDto extends BasePageDto { + + @ApiModelProperty(value="用户昵称") + private String username; + + @ApiModelProperty(value="是否展示") + private String isShow; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/FhUserMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/FhUserMapper.java new file mode 100644 index 0000000..c5a6369 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/FhUserMapper.java @@ -0,0 +1,18 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.img.domain.FhUser; +import com.bnyer.img.dto.FhUserPageDto; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author chengkun + * @date 2022/7/4 13:58 + */ +@Mapper +public interface FhUserMapper extends BaseMapper { + List queryPage(@Param("params") FhUserPageDto dto); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokCollectionMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokCollectionMapper.java index 14119b3..e5ce6f1 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokCollectionMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokCollectionMapper.java @@ -14,7 +14,8 @@ public interface TiktokCollectionMapper extends BaseMapper { /** * 查询用户收藏列表 * @param userId 用户Id + * @param platform 平台 * @return - */ - List getCollectionByUserId(@Param("userId") Long userId); -} \ No newline at end of file + List getCollectionByUserId(@Param("userId") Long userId,@Param("platform") String platform); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/WxUserMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/WxUserMapper.java new file mode 100644 index 0000000..49286d4 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/WxUserMapper.java @@ -0,0 +1,18 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.img.domain.WxUser; +import com.bnyer.img.dto.WxUserPageDto; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author chengkun + * @date 2022/7/4 13:58 + */ +@Mapper +public interface WxUserMapper extends BaseMapper { + List queryPage(@Param("params") WxUserPageDto dto); +} 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 new file mode 100644 index 0000000..c61312a --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java @@ -0,0 +1,54 @@ +package com.bnyer.img.service; + +import com.bnyer.img.domain.FhUser; +import com.bnyer.img.dto.FhLoginDto; +import com.bnyer.img.dto.FhUserPageDto; + +import java.util.List; +import java.util.Map; + +public interface FhUserService { + + /** + * 修改快手用户 + * @param fhUser 快手用户 + * @return - + */ + int update(FhUser fhUser); + + /** + * 批量删除快手用户 + * @param ids 主键Ids + * @return - + */ + int delete(List ids); + + /** + * 查询快手用户分页 + * @param dto 分页条件对象 + * @return - + */ + List queryPage(FhUserPageDto dto); + + /** + * 根据id获取用户 + * @param id 主键id + * @return - + */ + FhUser queryDetails(Long id); + + /** + * 快手登录参数 + * @param dto 登录参数 + * @return - + */ + Map login(FhLoginDto dto); + + /** + * 变更显示状态 + * @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/TiktokCollectionService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokCollectionService.java index 22fbc6f..fd07656 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokCollectionService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokCollectionService.java @@ -29,29 +29,33 @@ public interface TiktokCollectionService { * 收藏 * @param userId 用户Id * @param imgId 图片Id + * @param platform 平台 */ - void collect(Long userId, Long imgId); + void collect(Long userId, Long imgId,String platform); /** * 取消收藏 * @param userId 用户Id * @param imgId 图片Id + * @param platform 平台 */ - void unCollect(Long userId, Long imgId); + void unCollect(Long userId, Long imgId,String platform); /** * 判断是否收藏 * @param userId 用户Id * @param imgId 图片Id + * @param platform 平台 * @return - */ - boolean judgeCollect(Long userId, Long imgId); + boolean judgeCollect(Long userId, Long imgId,String platform); /** * 查询用户收藏列表 * @param userId 用户Id + * @param platform 平台 * @return - */ - List getCollectionByUserId(Long userId); + List getCollectionByUserId(Long userId,String platform); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokLikeService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokLikeService.java index ca7a68b..cb28777 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokLikeService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokLikeService.java @@ -26,21 +26,24 @@ public interface TiktokLikeService { * 点赞 * @param userId 用户Id * @param imgId 图片Id + * @param platform 平台 */ - void like(Long userId, Long imgId); + void like(Long userId, Long imgId,String platform); /** * 取消点赞 * @param userId 用户Id * @param imgId 图片Id + * @param platform 平台 */ - void unLike(Long userId, Long imgId); + void unLike(Long userId, Long imgId,String platform); /** * 判断是否进行过点赞 * @param userId 用户id * @param imgId 图片id + * @param platform 平台 * @return - */ - boolean judgeLike(Long userId, Long imgId); + boolean judgeLike(Long userId, Long imgId,String platform); } 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 new file mode 100644 index 0000000..ded2139 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java @@ -0,0 +1,54 @@ +package com.bnyer.img.service; + +import com.bnyer.img.domain.WxUser; +import com.bnyer.img.dto.WxLoginDto; +import com.bnyer.img.dto.WxUserPageDto; + +import java.util.List; +import java.util.Map; + +public interface WxUserService { + + /** + * 修改微信用户 + * @param wxUser 微信用户 + * @return - + */ + int update(WxUser wxUser); + + /** + * 批量删除微信用户 + * @param ids 主键Ids + * @return - + */ + int delete(List ids); + + /** + * 查询微信用户分页 + * @param dto 分页条件对象 + * @return - + */ + List queryPage(WxUserPageDto dto); + + /** + * 根据id获取用户 + * @param id 主键id + * @return - + */ + WxUser queryDetails(Long id); + + /** + * 微信登录参数 + * @param param 登录参数 + * @return - + */ + Map login(WxLoginDto param); + + /** + * 变更显示状态 + * @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/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 512d2e9..0a2e96d 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 @@ -66,6 +66,7 @@ public class CreatorServiceImpl implements CreatorService { @Autowired private RedisService redisService; + @Autowired private WxMaUserService wxMaUserService; /** 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 new file mode 100644 index 0000000..04c8c3f --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java @@ -0,0 +1,206 @@ +//package com.bnyer.img.service.impl; +// +//import cn.binarywang.wx.miniapp.api.WxMaUserService; +//import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; +//import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; +//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.bnyer.common.core.exception.ServiceException; +//import com.bnyer.common.core.utils.Sm4Util; +//import com.bnyer.common.core.utils.StringUtils; +//import com.bnyer.common.core.utils.uuid.IdUtils; +//import com.bnyer.common.redis.service.RedisService; +//import com.bnyer.img.constants.RedisKeyConstant; +//import com.bnyer.img.constants.TiktokConstant; +//import com.bnyer.img.domain.TiktokCollection; +//import com.bnyer.img.domain.TiktokLike; +//import com.bnyer.img.domain.FhUser; +//import com.bnyer.img.domain.TiktokUser; +//import com.bnyer.img.dto.FhLoginDto; +//import com.bnyer.img.dto.WxLoginDto; +//import com.bnyer.img.dto.FhUserPageDto; +//import com.bnyer.img.mapper.TiktokCollectionMapper; +//import com.bnyer.img.mapper.TiktokLikeMapper; +//import com.bnyer.img.mapper.FhUserMapper; +//import com.bnyer.img.service.FhUserService; +//import com.bnyer.img.vo.FhUserInfoVo; +//import com.bnyer.img.vo.TiktokSessionInfoVo; +//import com.bnyer.img.vo.TiktokUserInfoVo; +//import lombok.extern.slf4j.Slf4j; +//import me.chanjar.weixin.common.error.WxErrorException; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import javax.crypto.Cipher; +//import javax.crypto.spec.IvParameterSpec; +//import javax.crypto.spec.SecretKeySpec; +//import java.util.*; +//import java.util.concurrent.TimeUnit; +// +//@Service +//@Slf4j +//public class FhUserServiceImpl implements FhUserService { +// +// @Autowired +// private FhUserMapper fhUserMapper; +// +// @Autowired +// private RedisService redisService; +// +// @Autowired +// private TiktokLikeMapper tiktokLikeMapper; +// +// @Autowired +// private TiktokCollectionMapper tiktokCollectionMapper; +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public int update(FhUser fhUser) { +// fhUser.setUpdateTime(new Date()); +// if (StringUtils.isNotBlank(fhUser.getFhCode())) { +// fhUser.setFhCode(Sm4Util.sm4Encryption(fhUser.getFhCode())); +// } +// return fhUserMapper.updateById(fhUser); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public int delete(List ids) { +// int delete = fhUserMapper.deleteBatchIds(ids); +// //删除对应用户收藏及点赞记录 +// LambdaQueryWrapper collectionWrapper = new LambdaQueryWrapper<>(); +// LambdaQueryWrapper likeWrapper = new LambdaQueryWrapper<>(); +// for (Long id : ids) { +// collectionWrapper.eq(TiktokCollection::getUserId, id) +// .eq(TiktokCollection::getPlatform, "1"); +// tiktokCollectionMapper.delete(collectionWrapper); +// likeWrapper.eq(TiktokLike::getUserId, id) +// .eq(TiktokLike::getPlatform, "1"); +// tiktokLikeMapper.delete(likeWrapper); +// } +// return delete; +// } +// +// @Override +// public List queryPage(FhUserPageDto dto) { +// return fhUserMapper.queryPage(dto); +// } +// +// @Override +// public FhUser queryDetails(Long id) { +// return fhUserMapper.selectById(id); +// } +// +// /** +// * 获取用户openId及sessionKey +// * @param code 登录凭证code +// * @return - +// */ +// private TiktokSessionInfoVo getSessionInfo(String code) { +// Map map = new HashMap<>(); +// map.put("appid",tiktokConfig.getAppId()); +// map.put("secret", tiktokConfig.getSecret()); +// map.put("code", code); +// map.put("grant_type", "client_credential"); +// JSONObject sessionInfo = restTemplate.postForObject(tiktokConfig.getSessionInfoUrl(), map, JSONObject.class); +// if(!sessionInfo.getString("err_no").equals(TiktokConstant.SUCCESS)){ +// log.error("抖音授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("err_no"),sessionInfo.getString("err_tips")); +// throw new ServiceException("抖音授权session接口调用失败!",TiktokConstant.TIKTOK_AUTH_ERROR); +// } +// //调用成功,组装返回数据 +// JSONObject data = sessionInfo.getJSONObject("data"); +// TiktokSessionInfoVo result = new TiktokSessionInfoVo(); +// result.setSessionKey(data.getString("session_key")); +// result.setOpenId(data.getString("openid")); +// result.setUnionId(data.getString("unionid")); +// return result; +// } +// +// /** +// * 获取用户敏感信息 +// * @param sessionKey - +// * @param encryptedData 敏感数据 +// * @param iv 加密向量 +// * @return - +// */ +// private FhUserInfoVo 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,FhUserInfoVo.class); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } +// +// private FhUser saveOrUpdate(String openId, String sessionKey, String encryptedData, String iv) { +// //获取用户昵称和头像 +// FhUserInfoVo userInfo = this.getUserInfo(sessionKey, encryptedData, iv); +// //创建用户 +// FhUser fhUser = new FhUser(); +// fhUser.setImg(userInfo.getAvatarUrl()); +// fhUser.setUsername(userInfo.getNickName()); +// fhUser.setFhCode(Sm4Util.sm4Encryption(openId)); +// fhUser.setCreateTime(new Date()); +// fhUser.setUpdateTime(new Date()); +// fhUserMapper.insert(fhUser); +// log.info("快手用户【{}】创建成功!", openId); +// return fhUser; +// } +// +// @Override +// public Map login(FhLoginDto param) { +// TiktokSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode()); +// //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增 +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(sessionInfo.getOpenId() != null,TiktokUser::getTiktokCode,Sm4Util.sm4Encryption(sessionInfo.getOpenId())); +// TiktokUser tiktokUser = tiktokUserMapper.selectOne(wrapper); +// if(tiktokUser == null){ +// //新用户,新增 +// tiktokUser = this.saveUserInfo(sessionInfo.getOpenId(), sessionInfo.getSessionKey(), dto.getEncryptedData(), dto.getIv()); +// } +// //设置会话状态 +// String redisKey = RedisKeyConstant.TIKTOK_USER_LOGIN_KEY+Sm4Util.sm4Encryption(sessionInfo.getOpenId()); +// //存在该登录态则删除刷新 +// if(redisService.hasKey(redisKey)){ +// redisService.deleteObject(redisKey); +// } +// StringBuffer sb = new StringBuffer(); +// String randomId = IdUtils.fastSimpleUUID(); +// sb.append(randomId).append("#").append(sessionInfo.getOpenId()); +// +// Map map = new HashMap<>(2); +// map.put("token", sb.toString()); +// map.put("sessionKey", sessionInfo.getSessionKey()); +// map.put("userInfo",tiktokUser); +// //设置登录会话 +// redisService.setCacheObject(redisKey,map,30L, TimeUnit.DAYS); +// return map; +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public int changeStatus(Long id, String status) { +// LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); +// wrapper.eq(FhUser::getId, id); +// FhUser user = new FhUser(); +// user.setIsShow(status); +// return fhUserMapper.update(user, wrapper); +// } +//} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokCollectionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokCollectionServiceImpl.java index 892b112..07d062a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokCollectionServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokCollectionServiceImpl.java @@ -2,6 +2,7 @@ package com.bnyer.img.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.constants.PlatformConstant; import com.bnyer.img.constants.RedisKeyConstant; import com.bnyer.img.domain.TiktokCollection; import com.bnyer.img.domain.TiktokImg; @@ -15,6 +16,7 @@ import org.springframework.data.redis.core.Cursor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -37,26 +39,37 @@ public class TiktokCollectionServiceImpl implements TiktokCollectionService { public void insertNum() { log.info("==============redis同步图片收藏数量到db数据开始!==============="); long startTime = System.currentTimeMillis(); - String imgCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; - Cursor> collectionNum = redisService.getHashScan(imgCollectNumKey); - while (collectionNum.hasNext()){ - Map.Entry next = collectionNum.next(); - String imgId = (String) next.getKey(); - Long imgLongId = Long.parseLong(imgId); - Integer collectNum = (Integer) next.getValue(); - TiktokImg img = tiktokImgMapper.selectById(imgLongId); - if(img == null){ - redisService.deleteHashKey(imgCollectNumKey, imgId); - continue; + String tiktokCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; + String fastHandCollectNumKey = RedisKeyConstant.FAST_HAND_IMG_COLLECT_NUM_KEY; + String wechatCollectNumKey = RedisKeyConstant.WECHAT_IMG_COLLECT_NUM_KEY; + List list = new ArrayList<>(); + list.add(tiktokCollectNumKey); + list.add(fastHandCollectNumKey); + list.add(wechatCollectNumKey); + for (String redisKey : list) { + if(redisService.hasKey(redisKey)){ + Cursor> collectionNum = redisService.getHashScan(redisKey); + while (collectionNum.hasNext()){ + Map.Entry next = collectionNum.next(); + String imgId = (String) next.getKey(); + Long imgLongId = Long.parseLong(imgId); + Integer collectNum = (Integer) next.getValue(); + TiktokImg img = tiktokImgMapper.selectById(imgLongId); + if(img == null){ + redisService.deleteHashKey(redisKey, imgId); + continue; + } + TiktokImg tiktokImg = new TiktokImg(); + tiktokImg.setId(imgLongId); + tiktokImg.setUpdateTime(new Date()); + tiktokImg.setCollectionNum(collectNum+img.getCollectionNum()); + tiktokImgMapper.updateById(tiktokImg); + //删除缓存 + redisService.deleteHashKey(redisKey, imgId); + } } - TiktokImg tiktokImg = new TiktokImg(); - tiktokImg.setId(imgLongId); - tiktokImg.setUpdateTime(new Date()); - tiktokImg.setCollectionNum(collectNum+img.getCollectionNum()); - tiktokImgMapper.updateById(tiktokImg); - //删除缓存 - redisService.deleteHashKey(imgCollectNumKey, imgId); } + log.info("==============redis同步图片收藏数量到db数据完成,耗时【{}】毫秒!===============",System.currentTimeMillis() - startTime); } @@ -77,37 +90,54 @@ public class TiktokCollectionServiceImpl implements TiktokCollectionService { @Override @Transactional(rollbackFor = Exception.class) - public void collect(Long userId, Long imgId) { - String imgCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; + public void collect(Long userId, Long imgId, String platform) { + String imgCollectNumKey = null; + if(platform.equals(PlatformConstant.TIKTOK)){ + imgCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; + }else if(platform.equals(PlatformConstant.FAST_HAND)){ + imgCollectNumKey = RedisKeyConstant.FAST_HAND_IMG_COLLECT_NUM_KEY; + }else{ + imgCollectNumKey = RedisKeyConstant.WECHAT_IMG_COLLECT_NUM_KEY; + } TiktokCollection tiktokCollection = new TiktokCollection(); tiktokCollection.setImgId(imgId); tiktokCollection.setUserId(userId); + tiktokCollection.setPlatform(platform); tiktokCollection.setCreateTime(new Date()); tiktokCollection.setUpdateTime(new Date()); tiktokCollectionMapper.insert(tiktokCollection); redisService.hashIncr(imgCollectNumKey,String.valueOf(imgId), 1); - log.info("用户【{}】收藏了图片【{}】,收藏量增加1",userId,imgId); + log.debug("平台【{}】用户【{}】收藏了图片【{}】,收藏量增加1",platform,userId,imgId); } @Override @Transactional(rollbackFor = Exception.class) - public void unCollect(Long userId, Long imgId) { - String imgCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; + public void unCollect(Long userId, Long imgId, String platform) { + String imgCollectNumKey = null; + if(platform.equals(PlatformConstant.TIKTOK)){ + imgCollectNumKey = RedisKeyConstant.TIKTOK_IMG_COLLECT_NUM_KEY; + }else if(platform.equals(PlatformConstant.FAST_HAND)){ + imgCollectNumKey = RedisKeyConstant.FAST_HAND_IMG_COLLECT_NUM_KEY; + }else{ + imgCollectNumKey = RedisKeyConstant.WECHAT_IMG_COLLECT_NUM_KEY; + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TiktokCollection::getUserId,userId).eq(TiktokCollection::getImgId,imgId); + wrapper.eq(TiktokCollection::getUserId,userId).eq(TiktokCollection::getImgId,imgId) + .eq(TiktokCollection::getPlatform,platform); tiktokCollectionMapper.delete(wrapper); redisService.hashIncr(imgCollectNumKey,String.valueOf(imgId), -1); - Integer collectValue = (Integer) redisService.getCacheMapValue(imgCollectNumKey, String.valueOf(imgId)); + Integer collectValue = redisService.getCacheMapValue(imgCollectNumKey, String.valueOf(imgId)); if(collectValue <= 0){ redisService.deleteHashKey(imgCollectNumKey,String.valueOf(imgId)); } - log.info("用户【{}】取消收藏了图片【{}】,收藏量减少1",userId,imgId); + log.debug("平台【{}】用户【{}】取消收藏了图片【{}】,收藏量减少1",platform,userId,imgId); } @Override - public boolean judgeCollect(Long userId, Long imgId) { + public boolean judgeCollect(Long userId, Long imgId,String platform) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TiktokCollection::getUserId, userId).eq(TiktokCollection::getImgId, imgId); + wrapper.eq(TiktokCollection::getUserId, userId).eq(TiktokCollection::getImgId, imgId) + .eq(TiktokCollection::getPlatform,platform); TiktokCollection tiktokCollection = tiktokCollectionMapper.selectOne(wrapper); if(tiktokCollection != null){ //存在则收藏过 @@ -118,7 +148,7 @@ public class TiktokCollectionServiceImpl implements TiktokCollectionService { } } @Override - public List getCollectionByUserId(Long userId) { - return tiktokCollectionMapper.getCollectionByUserId(userId); + public List getCollectionByUserId(Long userId, String platform) { + return tiktokCollectionMapper.getCollectionByUserId(userId,platform); } } 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 c465d5e..9b1f6f9 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,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.redis.service.RedisService; import com.bnyer.img.constants.RedisKeyConstant; -import com.bnyer.img.domain.Banner; import com.bnyer.img.domain.TiktokCollection; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.TiktokLike; @@ -17,14 +16,12 @@ import com.bnyer.img.service.TiktokImgService; import com.bnyer.img.vo.TiktokImgVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.Cursor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import java.util.Map; @Service @Slf4j diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokLikeServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokLikeServiceImpl.java index 5712a22..f8694bf 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokLikeServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokLikeServiceImpl.java @@ -2,6 +2,7 @@ package com.bnyer.img.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.constants.PlatformConstant; import com.bnyer.img.constants.RedisKeyConstant; import com.bnyer.img.domain.TiktokImg; import com.bnyer.img.domain.TiktokLike; @@ -33,8 +34,8 @@ public class TiktokLikeServiceImpl implements TiktokLikeService { @Autowired private TiktokImgMapper tiktokImgMapper; - private String getHashKey(Long userId, Long imgId){ - return userId+":"+imgId; + private String getHashKey(Long userId, Long imgId,String platform){ + return userId+":"+imgId+":"+platform; } @Override @@ -42,43 +43,55 @@ public class TiktokLikeServiceImpl implements TiktokLikeService { public void insertRecord() { log.info("==============redis同步点赞记录到db数据开始!==============="); long startTime = System.currentTimeMillis(); - //拿缓存 - String redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; - if(redisService.hasKey(redisKey)){ - Cursor> like = redisService.getHashScan(redisKey); - List list = new ArrayList<>(); - List keyList = new ArrayList<>(); - while (like.hasNext()){ - Map.Entry next = like.next(); - String key = (String) next.getKey(); - //分离出 userId,imgId - String[] split = key.split(":"); - String userId = split[0]; - Long userLongId = Long.parseLong(userId); - String imgId = split[1]; - Long imgLongId = Long.parseLong(imgId); - //判断图片是否存在 - TiktokImg img = tiktokImgMapper.selectById(imgLongId); - if(img == null){ - //不存在则图片Id加入删除列表,遍历完删除 + //拿抖音缓存 + String tiktokKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; + //拿快手缓存 + String fastHandKey = RedisKeyConstant.FAST_HAND_USER_LIKE_KEY; + //拿微信缓存 + String wechatKey = RedisKeyConstant.WECHAT_USER_LIKE_KEY; + List redisKeylist= new ArrayList<>(); + redisKeylist.add(tiktokKey); + redisKeylist.add(fastHandKey); + redisKeylist.add(wechatKey); + for (String redisKey : redisKeylist) { + if(redisService.hasKey(redisKey)){ + Cursor> like = redisService.getHashScan(redisKey); + List list = new ArrayList<>(); + List keyList = new ArrayList<>(); + while (like.hasNext()){ + Map.Entry next = like.next(); + String key = (String) next.getKey(); + //分离出 userId,imgId,platform + String[] split = key.split(":"); + String userId = split[0]; + Long userLongId = Long.parseLong(userId); + String imgId = split[1]; + Long imgLongId = Long.parseLong(imgId); + String platform = split[2]; + //判断图片是否存在 + TiktokImg img = tiktokImgMapper.selectById(imgLongId); + if(img == null){ + //不存在则图片Id加入删除列表,遍历完删除 + keyList.add(key); + continue; + } + TiktokLike tiktokLike = new TiktokLike(); + tiktokLike.setUserId(userLongId); + tiktokLike.setImgId(imgLongId); + tiktokLike.setPlatform(platform); + tiktokLike.setIsShow("1"); + tiktokLike.setSort(0); + tiktokLike.setCreateTime(new Date()); + tiktokLike.setUpdateTime(new Date()); + list.add(tiktokLike); keyList.add(key); - continue; } - TiktokLike tiktokLike = new TiktokLike(); - tiktokLike.setUserId(userLongId); - tiktokLike.setImgId(imgLongId); - tiktokLike.setIsShow("1"); - tiktokLike.setSort(0); - tiktokLike.setCreateTime(new Date()); - tiktokLike.setUpdateTime(new Date()); - list.add(tiktokLike); - keyList.add(key); - } - //数据插入数据库并删除缓存 - tiktokLikeMapper.insertBatch(list); - if(keyList.size() > 0){ - for (String key : keyList) { - redisService.deleteHashKey(redisKey, key); + //数据插入数据库并删除缓存 + tiktokLikeMapper.insertBatch(list); + if(keyList.size() > 0){ + for (String key : keyList) { + redisService.deleteHashKey(redisKey, key); + } } } } @@ -90,25 +103,35 @@ public class TiktokLikeServiceImpl implements TiktokLikeService { public void insertNum() { log.info("==============redis同步图片点赞数量到db数据开始!==============="); long startTime = System.currentTimeMillis(); - String imgLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; - Cursor> likeNum = redisService.getHashScan(imgLikeNumKey); - while (likeNum.hasNext()){ - Map.Entry next = likeNum.next(); - String imgId = (String) next.getKey(); - Long imgLongId = Long.parseLong(imgId); - Integer greatNum = (Integer) next.getValue(); - TiktokImg img = tiktokImgMapper.selectById(imgLongId); - if(img == null){ - redisService.deleteHashKey(imgLikeNumKey, imgId); - continue; + String tiktokLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; + String fastHandLikeNumKey = RedisKeyConstant.FAST_HAND_IMG_LIKE_NUM_KEY; + String wechatLikeNumKey = RedisKeyConstant.WECHAT_IMG_LIKE_NUM_KEY; + List list = new ArrayList<>(); + list.add(tiktokLikeNumKey); + list.add(fastHandLikeNumKey); + list.add(wechatLikeNumKey); + for (String redisNumKey : list) { + if(redisService.hasKey(redisNumKey)){ + Cursor> likeNum = redisService.getHashScan(redisNumKey); + while (likeNum.hasNext()){ + Map.Entry next = likeNum.next(); + String imgId = (String) next.getKey(); + Long imgLongId = Long.parseLong(imgId); + Integer greatNum = (Integer) next.getValue(); + TiktokImg img = tiktokImgMapper.selectById(imgLongId); + if(img == null){ + redisService.deleteHashKey(redisNumKey, imgId); + continue; + } + TiktokImg tiktokImg = new TiktokImg(); + tiktokImg.setId(imgLongId); + tiktokImg.setUpdateTime(new Date()); + tiktokImg.setGreatNum(greatNum+img.getGreatNum()); + tiktokImgMapper.updateById(tiktokImg); + //删除缓存 + redisService.deleteHashKey(redisNumKey, imgId); + } } - TiktokImg tiktokImg = new TiktokImg(); - tiktokImg.setId(imgLongId); - tiktokImg.setUpdateTime(new Date()); - tiktokImg.setGreatNum(greatNum+img.getGreatNum()); - tiktokImgMapper.updateById(tiktokImg); - //删除缓存 - redisService.deleteHashKey(imgLikeNumKey, imgId); } log.info("==============redis同步图片点赞数量到db数据完成,耗时【{}】毫秒!===============",System.currentTimeMillis() - startTime); } @@ -121,33 +144,64 @@ public class TiktokLikeServiceImpl implements TiktokLikeService { @Override @Transactional(rollbackFor = Exception.class) - public void like(Long userId, Long imgId) { - String hashKey = getHashKey(userId,imgId); - String redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; - String imgLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; + public void like(Long userId, Long imgId,String platform) { + String hashKey = getHashKey(userId,imgId,platform); + String redisKey = null; + String imgLikeNumKey = null; + if(platform.equals(PlatformConstant.TIKTOK)){ + redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; + }else if(platform.equals(PlatformConstant.FAST_HAND)){ + redisKey = RedisKeyConstant.FAST_HAND_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.FAST_HAND_IMG_LIKE_NUM_KEY; + }else{ + redisKey = RedisKeyConstant.WECHAT_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.WECHAT_IMG_LIKE_NUM_KEY; + } //插入redis,状态置为1,图片数量+1 redisService.setCacheMapValue(redisKey,hashKey, TiktokLikeEnum.LIKE.getCode()); redisService.hashIncr(imgLikeNumKey,String.valueOf(imgId), 1); - log.info("用户【{}】点赞了图片【{}】,点赞量增加1",userId,imgId); + log.debug("平台【{}】用户【{}】点赞了图片【{}】,点赞量增加1",platform,userId,imgId); } @Override @Transactional(rollbackFor = Exception.class) - public void unLike(Long userId, Long imgId) { - String hashKey = getHashKey(userId,imgId); - String redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; - String imgLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; + public void unLike(Long userId, Long imgId,String platform) { + String hashKey = getHashKey(userId,imgId,platform); + String redisKey = null; + String imgLikeNumKey = null; + if(platform.equals(PlatformConstant.TIKTOK)){ + redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.TIKTOK_IMG_LIKE_NUM_KEY; + }else if(platform.equals(PlatformConstant.FAST_HAND)){ + redisKey = RedisKeyConstant.FAST_HAND_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.FAST_HAND_IMG_LIKE_NUM_KEY; + }else{ + redisKey = RedisKeyConstant.WECHAT_USER_LIKE_KEY; + imgLikeNumKey = RedisKeyConstant.WECHAT_IMG_LIKE_NUM_KEY; + } redisService.deleteHashKey(redisKey,hashKey); redisService.hashIncr(imgLikeNumKey,String.valueOf(imgId), -1); - log.info("用户【{}】取消点赞了图片【{}】,点赞量减少1",userId,imgId); + Integer likeValue = redisService.getCacheMapValue(imgLikeNumKey, String.valueOf(imgId)); + if(likeValue <= 0){ + redisService.deleteHashKey(imgLikeNumKey,String.valueOf(imgId)); + } + log.debug("平台【{}】用户【{}】取消点赞了图片【{}】,点赞量减少1",platform,userId,imgId); } @Override - public boolean judgeLike(Long userId, Long imgId) { + public boolean judgeLike(Long userId, Long imgId, String platform) { //判断redis中是否存在点赞记录 - String hashKey = getHashKey(userId,imgId); - String redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; - Integer value = (Integer) redisService.getCacheMapValue(redisKey, hashKey); + String hashKey = getHashKey(userId,imgId,platform); + String redisKey = null; + if(platform.equals(PlatformConstant.TIKTOK)){ + redisKey = RedisKeyConstant.TIKTOK_USER_LIKE_KEY; + }else if(platform.equals(PlatformConstant.FAST_HAND)){ + redisKey = RedisKeyConstant.FAST_HAND_USER_LIKE_KEY; + }else{ + redisKey = RedisKeyConstant.WECHAT_USER_LIKE_KEY; + } + Integer value = redisService.getCacheMapValue(redisKey, hashKey); //缓存存在的情况下 if(value != null){ if(TiktokLikeEnum.LIKE.getCode().equals(value)){ @@ -160,7 +214,8 @@ public class TiktokLikeServiceImpl implements TiktokLikeService { } //缓存不存在,同时解决重复点赞情况,此时查询数据库 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TiktokLike::getUserId, userId).eq(TiktokLike::getImgId, imgId); + wrapper.eq(TiktokLike::getUserId, userId).eq(TiktokLike::getImgId, imgId) + .eq(TiktokLike::getPlatform,platform); TiktokLike tiktokLike = tiktokLikeMapper.selectOne(wrapper); if(tiktokLike != null){ //存在则点赞过 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 new file mode 100644 index 0000000..e2286b7 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java @@ -0,0 +1,153 @@ +package com.bnyer.img.service.impl; + +import cn.binarywang.wx.miniapp.api.WxMaUserService; +import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; +import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; +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.Sm4Util; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.common.core.utils.uuid.IdUtils; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.constants.RedisKeyConstant; +import com.bnyer.img.constants.TiktokConstant; +import com.bnyer.img.domain.TiktokCollection; +import com.bnyer.img.domain.TiktokLike; +import com.bnyer.img.domain.WxUser; +import com.bnyer.img.dto.WxLoginDto; +import com.bnyer.img.dto.WxUserPageDto; +import com.bnyer.img.mapper.TiktokCollectionMapper; +import com.bnyer.img.mapper.TiktokLikeMapper; +import com.bnyer.img.mapper.WxUserMapper; +import com.bnyer.img.service.WxUserService; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; +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.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +@Service +@Slf4j +public class WxUserServiceImpl implements WxUserService { + + @Autowired + private WxUserMapper wxUserMapper; + + @Autowired + private RedisService redisService; + + @Autowired + private TiktokLikeMapper tiktokLikeMapper; + + @Autowired + private TiktokCollectionMapper tiktokCollectionMapper; + + @Autowired + private WxMaUserService wxMaUserService; + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(WxUser wxUser) { + wxUser.setUpdateTime(new Date()); + if (StringUtils.isNotBlank(wxUser.getWxCode())) { + wxUser.setWxCode(Sm4Util.sm4Encryption(wxUser.getWxCode())); + } + return wxUserMapper.updateById(wxUser); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + int delete = wxUserMapper.deleteBatchIds(ids); + //删除对应用户收藏及点赞记录 + LambdaQueryWrapper collectionWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper likeWrapper = new LambdaQueryWrapper<>(); + for (Long id : ids) { + collectionWrapper.eq(TiktokCollection::getUserId, id) + .eq(TiktokCollection::getPlatform, "2"); + tiktokCollectionMapper.delete(collectionWrapper); + likeWrapper.eq(TiktokLike::getUserId, id) + .eq(TiktokLike::getPlatform, "2"); + tiktokLikeMapper.delete(likeWrapper); + } + return delete; + } + + @Override + public List queryPage(WxUserPageDto dto) { + return wxUserMapper.queryPage(dto); + } + + @Override + public WxUser queryDetails(Long id) { + return wxUserMapper.selectById(id); + } + + private WxUser saveOrUpdate(String openId, String sessionKey, String encryptedData, String iv) { + //获取用户昵称和头像 + WxMaUserInfo userInfo = wxMaUserService.getUserInfo(sessionKey, encryptedData, iv); + //创建用户 + WxUser wxUser = new WxUser(); + wxUser.setImg(userInfo.getAvatarUrl()); + wxUser.setUsername(userInfo.getNickName()); + wxUser.setWxCode(Sm4Util.sm4Encryption(openId)); + wxUser.setCreateTime(new Date()); + wxUser.setUpdateTime(new Date()); + wxUserMapper.insert(wxUser); + log.info("微信用户【{}】创建成功!", openId); + return wxUser; + } + + @Override + public Map login(WxLoginDto param) { + try { + //code换openId等相关信息 + WxMaJscode2SessionResult sessionInfo = wxMaUserService.getSessionInfo(param.getCode()); + //插入或更新艺术家到数据库 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("wx_code", Sm4Util.sm4Encryption(sessionInfo.getOpenid())); + WxUser wxUser = wxUserMapper.selectOne(qw); + if(wxUser == null){ + //新用户,新增 + wxUser = this.saveOrUpdate(sessionInfo.getOpenid(), sessionInfo.getSessionKey(), param.getEncryptedData(), param.getIv()); + } + //设置会话状态 + String redisKey = RedisKeyConstant.WECHAT_USER_LOGIN_KEY + Sm4Util.sm4Encryption(sessionInfo.getOpenid()); + //存在该登录态则删除刷新 + if (redisService.hasKey(redisKey)) { + redisService.deleteObject(redisKey); + } + //缓存到redis + StringBuffer sb = new StringBuffer(); + String randomId = IdUtils.fastSimpleUUID(); + sb.append(randomId).append("#").append(sessionInfo.getOpenid()); + //设置登录会话 + redisService.setCacheObject(redisKey, sb.toString(), 10L, TimeUnit.DAYS); + Map map = new HashMap<>(2); + map.put("token", sb.toString()); + map.put("sessionKey", sessionInfo.getSessionKey()); + map.put("userInfo", wxUser); + return map; + } catch (WxErrorException e) { + throw new ServiceException(e.getMessage(), TiktokConstant.CALL_WECHAT_FAIL); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(WxUser::getId, id); + WxUser user = new WxUser(); + user.setIsShow(status); + return wxUserMapper.update(user, wrapper); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java index 68caa95..78b9937 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitEndAmtVo.java @@ -40,7 +40,7 @@ public class CreatorProfitEndAmtVo implements Serializable { @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") private String platform; - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java index d657c3e..fede08b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitInAmtVo.java @@ -40,7 +40,7 @@ public class CreatorProfitInAmtVo implements Serializable { @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") private String platform; - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java index da2d3fd..5878ed0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitPreVo.java @@ -33,7 +33,7 @@ public class CreatorProfitPreVo implements Serializable { @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") private String platform; - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitVo.java index b74c008..ef399da 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorProfitVo.java @@ -36,7 +36,7 @@ public class CreatorProfitVo implements Serializable { @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)") private String platform; - @ApiModelProperty(value="应用类型(0->次元壁纸)") + @ApiModelProperty(value="应用类型(0->节点壁纸)") private String appType; @ApiModelProperty(value="收益类型(0->广告浏览;1->邀请;2->会员)") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/FhUserInfoVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/FhUserInfoVo.java new file mode 100644 index 0000000..3d78f76 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/FhUserInfoVo.java @@ -0,0 +1,36 @@ +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 FhUserInfoVo implements Serializable { + + @ApiModelProperty(value="用户昵称") + private String nickName; + + @ApiModelProperty(value="用户头像网络地址") + private String avatarUrl; + + @ApiModelProperty(value="用户性别,0: 未知;1:男性;2:女性") + private String gender; + + @ApiModelProperty(value="用户所在城市") + private String city; + + @ApiModelProperty(value="用户所在省份") + private String province; + + @ApiModelProperty(value="用户所在国家") + private String country; + + @ApiModelProperty(value="用户openId") + private String openId; +} 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 4d7880c..2c3915c 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 @@ -19,6 +19,9 @@ public class TiktokCollectionVo implements Serializable { @ApiModelProperty(value="图片id") private Long imgId; + @ApiModelProperty(value="平台") + private String platform; + @ApiModelProperty(value="图片地址") private String imgUrl; @@ -41,4 +44,4 @@ public class TiktokCollectionVo implements Serializable { private Integer collectionNum; private static final long serialVersionUID = 1L; -} \ No newline at end of file +} diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/BannerMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/BannerMapper.xml index 35f17aa..5fd1065 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/BannerMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/BannerMapper.xml @@ -16,7 +16,7 @@ - id, banner_name, banner_img, banner_url, `source`, is_show, create_time, update_time, + id, banner_name, banner_img, banner_url, `source`, 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/FhUserMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml new file mode 100644 index 0000000..9b5a7ee --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/FhUserMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + id, username, fh_code, img, is_show, create_time, update_time, sort + + + + 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 b143a0e..4cbaee5 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 @@ -3,10 +3,11 @@ - + + @@ -14,20 +15,20 @@ - id, user_id, img_id, is_show, create_time, update_time, sort + id, user_id, img_id,platform, 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/TiktokLikeMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokLikeMapper.xml index d807397..c1e1396 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokLikeMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokLikeMapper.xml @@ -3,10 +3,11 @@ - + + @@ -14,15 +15,15 @@ - id, user_id, img_id, is_show, create_time, update_time, sort + id, user_id, img_id,platform, is_show, create_time, update_time, sort - insert into img_tiktok_like - (user_id, img_id, is_show,create_time,update_time,sort) + insert into img_like + (user_id, img_id,platform, is_show,create_time,update_time,sort) VALUES - (#{item.userId}, #{item.imgId}, #{item.isShow}, #{item.createTime}, #{item.updateTime}, #{item.sort}) + (#{item.userId}, #{item.imgId},#{item.platform}, #{item.isShow}, #{item.createTime}, #{item.updateTime}, #{item.sort}) diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml new file mode 100644 index 0000000..0f037f0 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WxUserMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + id, username, wx_code, img, is_show, create_time, update_time, sort + + + +