package cn.lili.controller.member; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.FootPrintQueryParams; import cn.lili.modules.member.service.FootprintService; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; /** * 买家端,浏览历史接口 * * @author Chopper * @since 2020/11/16 10:06 下午 */ @RestController @Api(tags = "买家端,浏览历史接口") @RequestMapping("/buyer/member/footprint") public class FootprintController { /** * 会员足迹 */ @Autowired private FootprintService footprintService; @Autowired private COSUtil cosUtil; @ApiOperation(value = "分页获取") @GetMapping public ResultMessage> getByPage(FootPrintQueryParams params) { params.setMemberId(UserContext.getCurrentUser().getId()); IPage indexIPage = footprintService.footPrintPage(params); indexIPage.getRecords().forEach(item -> { String small = item.getSmall(); String thumbnail = item.getThumbnail(); String goodsVideo = item.getGoodsVideo(); if (StringUtils.isNotBlank(small) && !small.contains("http")) { item.setSmall(cosUtil.getPreviewUrl(small)); } if (StringUtils.isNotBlank(thumbnail) && !thumbnail.contains("http")) { item.setThumbnail(cosUtil.getPreviewUrl(thumbnail)); } if (StringUtils.isNotBlank(goodsVideo) && !goodsVideo.contains("http")) { item.setGoodsVideo(cosUtil.getPreviewUrl(goodsVideo)); } }); return ResultUtil.data(indexIPage); } @ApiOperation(value = "根据id删除") @ApiImplicitParam(name = "ids", value = "关联ID", required = true, allowMultiple = true, dataType = "String", paramType = "path") @DeleteMapping(value = "/delByIds/{viewType}/{ids}") public ResultMessage delAllByIds(@NotNull(message = "关联ID不能为空") @PathVariable("ids") List ids, @PathVariable("viewType") String viewType) { footprintService.deleteByIds(ids, viewType); return ResultUtil.success(); } @ApiOperation(value = "清空足迹") @DeleteMapping public ResultMessage deleteAll() { footprintService.clean(); return ResultUtil.success(); } @ApiOperation(value = "获取当前会员足迹数量") @GetMapping(value = "/getFootprintNum") public ResultMessage getFootprintNum() { return ResultUtil.data(footprintService.getFootprintNum()); } @GetMapping("/history") @ApiOperation(value = "获取会员的历史足迹") public ResultMessage> getMemberHistory(FootPrintQueryParams params) { return ResultUtil.data(footprintService.footPrintPage(params)); } }