主页 > IT业界  > 

如何使用springboot项目如何实现小程序里面商品的浏览记录功能案例

如何使用springboot项目如何实现小程序里面商品的浏览记录功能案例

1 第一步,数据库表结构设计

DROP TABLE IF EXISTS `product_browse_history`; CREATE TABLE `product_browse_history` ( `id` bigint NOT NULL COMMENT '记录编号', `spu_id` bigint DEFAULT NULL COMMENT '商品 SPU 编号', `user_id` bigint DEFAULT NULL COMMENT '用户编号', `user_deleted` tinyint(1) DEFAULT NULL COMMENT '用户是否删除', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='商品浏览记录'; SET FOREIGN_KEY_CHECKS = 1;

第二部:在小程序里面 点击商品详情的时候 我们可以在这个浏览记录表里面新增一条数据,同一个商品只会有一条,注意这里表结构也可以新增浏览记录次数字段

这样我们可以在小程序里面通过查询接口来获取浏览记录数据啦

@DeleteMapping(value = "/clean") @Operation(summary = "清空商品浏览记录") public CommonResult<Boolean> deleteBrowseHistory() { productBrowseHistoryService.hideUserBrowseHistory(getLoginUserId(), null); return success(Boolean.TRUE); } @GetMapping(value = "/page") @Operation(summary = "获得商品浏览记录分页") public CommonResult<PageResult<AppProductBrowseHistoryRespVO>> getBrowseHistoryPage(AppProductBrowseHistoryPageReqVO reqVO) { ProductBrowseHistoryPageReqVO pageReqVO = BeanUtils.toBean(reqVO, ProductBrowseHistoryPageReqVO.class) .setUserId(getLoginUserId()) .setUserDeleted(false); // 排除用户已删除的(隐藏的) PageResult<ProductBrowseHistoryDO> pageResult = productBrowseHistoryService.getBrowseHistoryPage(pageReqVO); if (CollUtil.isEmpty(pageResult.getList())) { return success(PageResult.empty()); } // 得到商品 spu 信息 Set<Long> spuIds = convertSet(pageResult.getList(), ProductBrowseHistoryDO::getSpuId); Map<Long, ProductSpuDO> spuMap = convertMap(productSpuService.getSpuList(spuIds), ProductSpuDO::getId); return success(BeanUtils.toBean(pageResult, AppProductBrowseHistoryRespVO.class, vo -> Optional.ofNullable(spuMap.get(vo.getSpuId())) .ifPresent(spu -> vo.setSpuName(spu.getName()).setPicUrl(spu.getPicUrl()).setPrice(spu.getPrice()) .setSalesCount(spu.getSalesCount()).setStock(spu.getStock())))); }

标签:

如何使用springboot项目如何实现小程序里面商品的浏览记录功能案例由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“如何使用springboot项目如何实现小程序里面商品的浏览记录功能案例