From b7a424cffb2c0384767242e4074a7d902c638488 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Tue, 22 Aug 2023 01:29:21 +0800 Subject: [PATCH] 添加收藏和浏览记录逻辑 --- src/main/java/cc/mrbird/febs/mall/dto/AddFootprintDto.java | 14 + src/main/java/cc/mrbird/febs/mall/mapper/MallMemberFootprintMapper.java | 12 + src/main/resources/mapper/modules/MallMemberCollectionMapper.xml | 24 ++ src/main/resources/mapper/modules/MallMemberFootprintMapper.xml | 24 ++ src/main/java/cc/mrbird/febs/mall/controller/ApiMemberCollectionController.java | 46 ++++ src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java | 68 ++++++ src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java | 19 + src/main/java/cc/mrbird/febs/mall/vo/FootprintListVo.java | 34 +++ src/main/java/cc/mrbird/febs/mall/vo/AddCollectionVo.java | 13 + src/main/java/cc/mrbird/febs/mall/controller/ApiMemberFootprintController.java | 59 +++++ src/main/java/cc/mrbird/febs/mall/vo/CollectionListVo.java | 25 ++ src/main/java/cc/mrbird/febs/mall/entity/MallMemberFootprint.java | 29 ++ src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java | 14 + src/main/java/cc/mrbird/febs/mall/entity/MallMemberCollection.java | 24 ++ src/main/java/cc/mrbird/febs/mall/service/IMallMemberFootprintService.java | 22 ++ src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCollectionMapper.java | 12 + src/main/java/cc/mrbird/febs/mall/dto/MemberFootprintListDto.java | 17 + src/main/java/cc/mrbird/febs/mall/dto/MemberCollectionListDto.java | 17 + src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberFootprintServiceImpl.java | 84 ++++++++ 19 files changed, 557 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberCollectionController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberCollectionController.java new file mode 100644 index 0000000..680b621 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberCollectionController.java @@ -0,0 +1,46 @@ +package cc.mrbird.febs.mall.controller; + +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.mall.dto.AddCollectionDto; +import cc.mrbird.febs.mall.dto.MemberCollectionListDto; +import cc.mrbird.febs.mall.service.IMallMemberCollectionService; +import cc.mrbird.febs.mall.vo.AddCollectionVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Validated +@RestController +@RequiredArgsConstructor +@RequestMapping(value = "/api/collection") +@Api(value = "ApiMemberCollectionController", tags = "收藏接口类") +public class ApiMemberCollectionController { + + @Autowired + private IMallMemberCollectionService mallMemberCollectionService; + + @ApiOperation(value = "添加收藏") + @PostMapping(value = "/add") + public FebsResponse add(@RequestBody AddCollectionDto addCollectionDto) { + mallMemberCollectionService.add(addCollectionDto); + return new FebsResponse().success().message("收藏成功"); + } + + @ApiOperation(value = "获取收藏列表") + @PostMapping(value = "/findMemberCollectionList") + public FebsResponse findMemberCollectionList(@RequestBody MemberCollectionListDto memberCollectionListDto) { + return new FebsResponse().success().data(mallMemberCollectionService.findMemberCollectionList(memberCollectionListDto)); + } + + @ApiOperation(value = "取消收藏") + @PostMapping(value = "/del/{ids}") + public FebsResponse del(@PathVariable("ids") String ids) { + mallMemberCollectionService.del(ids); + return new FebsResponse().success().message("取消成功"); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberFootprintController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberFootprintController.java new file mode 100644 index 0000000..19b57e2 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMemberFootprintController.java @@ -0,0 +1,59 @@ +package cc.mrbird.febs.mall.controller; + + +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.mall.dto.AddCollectionDto; +import cc.mrbird.febs.mall.dto.AddFootprintDto; +import cc.mrbird.febs.mall.dto.MemberCollectionListDto; +import cc.mrbird.febs.mall.dto.MemberFootprintListDto; +import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.service.IMallMemberCollectionService; +import cc.mrbird.febs.mall.service.IMallMemberFootprintService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Validated +@RestController +@RequiredArgsConstructor +@RequestMapping(value = "/api/footprint") +@Api(value = "ApiMemberFootprintController", tags = "足迹接口类") +public class ApiMemberFootprintController { + + @Autowired + private IMallMemberFootprintService mallMemberFootprintService; + + @ApiOperation(value = "添加浏览记录") + @PostMapping(value = "/add") + public FebsResponse add(@RequestBody AddFootprintDto addFootprintDto) { + MallMember loginUser = LoginUserUtil.getLoginUser(); + mallMemberFootprintService.add(addFootprintDto.getGoodsId(), loginUser.getId()); + return new FebsResponse().success().message("添加成功"); + } + + @ApiOperation(value = "浏览记录列表") + @PostMapping(value = "/findMemberFootprintList") + public FebsResponse findMemberFootprintList(@RequestBody MemberFootprintListDto memberFootprintListDto) { + return new FebsResponse().success().data(mallMemberFootprintService.findMemberCollectionList(memberFootprintListDto)); + } + + @ApiOperation(value = "删除浏览记录") + @PostMapping(value = "/del/{ids}") + public FebsResponse del(@PathVariable("ids") String ids) { + mallMemberFootprintService.del(ids); + return new FebsResponse().success().message("取消成功"); + } + + @ApiOperation(value = "清空浏览记录") + @PostMapping(value = "/empty") + public FebsResponse empty() { + mallMemberFootprintService.empty(); + return new FebsResponse().success().message("清空成功"); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java new file mode 100644 index 0000000..1316118 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java @@ -0,0 +1,14 @@ +package cc.mrbird.febs.mall.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "AddCollectionDto", description = "添加收藏接受参数类") +public class AddCollectionDto { + + @ApiModelProperty(value = "商品ID") + private Long goodsId; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddFootprintDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddFootprintDto.java new file mode 100644 index 0000000..57e90f3 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/AddFootprintDto.java @@ -0,0 +1,14 @@ +package cc.mrbird.febs.mall.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "AddFootprintDto", description = "添加浏览器记录接受参数类") +public class AddFootprintDto { + + @ApiModelProperty(value = "商品ID") + private Long goodsId; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MemberCollectionListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MemberCollectionListDto.java new file mode 100644 index 0000000..636b914 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/MemberCollectionListDto.java @@ -0,0 +1,17 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberCollectionListDto", description = "收藏列表接受参数类") +public class MemberCollectionListDto { + + + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MemberFootprintListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MemberFootprintListDto.java new file mode 100644 index 0000000..76f8c36 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/MemberFootprintListDto.java @@ -0,0 +1,17 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberFootprintListDto", description = "浏览记录列表接受参数类") +public class MemberFootprintListDto { + + + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; +} diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberCollection.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberCollection.java new file mode 100644 index 0000000..73b90ef --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberCollection.java @@ -0,0 +1,24 @@ +package cc.mrbird.febs.mall.entity; + +import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("mall_member_collection") +public class MallMemberCollection extends BaseEntity { + + private Long memberId; + + private Long goodsId; + + @TableField(exist = false) + private String goodsName; + + @TableField(exist = false) + private String thumb; + + @TableField(exist = false) + private Integer isSale; +} diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberFootprint.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberFootprint.java new file mode 100644 index 0000000..cedcb29 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberFootprint.java @@ -0,0 +1,29 @@ +package cc.mrbird.febs.mall.entity; + +import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("mall_member_footprint") +public class MallMemberFootprint extends BaseEntity { + + private Long memberId; + + private Long goodsId; + + + @TableField(exist = false) + private String goodsName; + + @TableField(exist = false) + private String thumb; + + @TableField(exist = false) + private String presentPrice; + + @TableField(exist = false) + private Integer isSale; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCollectionMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCollectionMapper.java new file mode 100644 index 0000000..edd18fd --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCollectionMapper.java @@ -0,0 +1,12 @@ +package cc.mrbird.febs.mall.mapper; + +import cc.mrbird.febs.mall.entity.MallMemberCollection; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +public interface MallMemberCollectionMapper extends BaseMapper<MallMemberCollection> { + + IPage<MallMemberCollection> selectMemberCollectionListInPage(@Param("record") MallMemberCollection mallMemberCollection, Page<MallMemberCollection> page); +} diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberFootprintMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberFootprintMapper.java new file mode 100644 index 0000000..7a73e26 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberFootprintMapper.java @@ -0,0 +1,12 @@ +package cc.mrbird.febs.mall.mapper; + +import cc.mrbird.febs.mall.entity.MallMemberFootprint; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +public interface MallMemberFootprintMapper extends BaseMapper<MallMemberFootprint> { + + IPage<MallMemberFootprint> selectMemberCollectionListInPage(@Param("record") MallMemberFootprint mallMemberFootprint, Page<MallMemberFootprint> page); +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java new file mode 100644 index 0000000..2e7e118 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java @@ -0,0 +1,19 @@ +package cc.mrbird.febs.mall.service; + +import cc.mrbird.febs.mall.dto.AddCollectionDto; +import cc.mrbird.febs.mall.dto.MemberCollectionListDto; +import cc.mrbird.febs.mall.entity.MallMemberCollection; +import cc.mrbird.febs.mall.vo.AddCollectionVo; +import cc.mrbird.febs.mall.vo.CollectionListVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface IMallMemberCollectionService extends IService<MallMemberCollection> { + + void add(AddCollectionDto addCollectionDto); + + List<CollectionListVo> findMemberCollectionList(MemberCollectionListDto memberCollectionListDto); + + void del(String ids); +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberFootprintService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberFootprintService.java new file mode 100644 index 0000000..dba66b5 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberFootprintService.java @@ -0,0 +1,22 @@ +package cc.mrbird.febs.mall.service; + +import cc.mrbird.febs.mall.dto.AddCollectionDto; +import cc.mrbird.febs.mall.dto.MemberCollectionListDto; +import cc.mrbird.febs.mall.dto.MemberFootprintListDto; +import cc.mrbird.febs.mall.entity.MallMemberFootprint; +import cc.mrbird.febs.mall.vo.CollectionListVo; +import cc.mrbird.febs.mall.vo.FootprintListVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface IMallMemberFootprintService extends IService<MallMemberFootprint> { + + void add(Long goodsId, Long memberId); + + List<FootprintListVo> findMemberCollectionList(MemberFootprintListDto memberFootprintListDto); + + void del(String ids); + + void empty(); +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java new file mode 100644 index 0000000..a70cb57 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java @@ -0,0 +1,68 @@ +package cc.mrbird.febs.mall.service.impl; + +import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.mall.dto.AddCollectionDto; +import cc.mrbird.febs.mall.dto.MemberCollectionListDto; +import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.entity.MallMemberCollection; +import cc.mrbird.febs.mall.mapper.MallMemberCollectionMapper; +import cc.mrbird.febs.mall.service.IMallMemberCollectionService; +import cc.mrbird.febs.mall.vo.AddCollectionVo; +import cc.mrbird.febs.mall.vo.CollectionListVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class MallMemberCollectionServiceImpl extends ServiceImpl<MallMemberCollectionMapper, MallMemberCollection> implements IMallMemberCollectionService { + + @Override + public void add(AddCollectionDto addCollectionDto) { + MallMember member = LoginUserUtil.getLoginUser(); + + MallMemberCollection collection = new MallMemberCollection(); + collection.setMemberId(member.getId()); + collection.setGoodsId(addCollectionDto.getGoodsId()); + + this.baseMapper.insert(collection); + } + + @Override + public List<CollectionListVo> findMemberCollectionList(MemberCollectionListDto memberCollectionListDto) { + MallMember member = LoginUserUtil.getLoginUser(); + MallMemberCollection collection = new MallMemberCollection(); + collection.setMemberId(member.getId()); + + Page<MallMemberCollection> page = new Page<>(memberCollectionListDto.getPageNow(), memberCollectionListDto.getPageSize()); + IPage<MallMemberCollection> result = this.baseMapper.selectMemberCollectionListInPage(collection, page); + if (CollUtil.isEmpty(result.getRecords())) { + return new ArrayList<>(); + } + + return result.getRecords().stream().map(item -> BeanUtil.copyProperties(item, CollectionListVo.class)).collect(Collectors.toList()); + } + + @Override + public void del(String ids) { + MallMember member = LoginUserUtil.getLoginUser(); + List<String> idsList = StrUtil.split(ids, ','); + + LambdaQueryWrapper<MallMemberCollection> delQuery = new LambdaQueryWrapper<>(); + delQuery.in(MallMemberCollection::getId, idsList); + delQuery.eq(MallMemberCollection::getMemberId, member.getId()); + this.baseMapper.delete(delQuery); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberFootprintServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberFootprintServiceImpl.java new file mode 100644 index 0000000..7c07569 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberFootprintServiceImpl.java @@ -0,0 +1,84 @@ +package cc.mrbird.febs.mall.service.impl; + +import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.mall.dto.MemberFootprintListDto; +import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.entity.MallMemberCollection; +import cc.mrbird.febs.mall.entity.MallMemberFootprint; +import cc.mrbird.febs.mall.mapper.MallMemberFootprintMapper; +import cc.mrbird.febs.mall.service.IMallMemberFootprintService; +import cc.mrbird.febs.mall.vo.CollectionListVo; +import cc.mrbird.febs.mall.vo.FootprintListVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class MallMemberFootprintServiceImpl extends ServiceImpl<MallMemberFootprintMapper, MallMemberFootprint> implements IMallMemberFootprintService { + + @Override + public void add(Long goodsId, Long memberId) { + LambdaQueryWrapper<MallMemberFootprint> query = new LambdaQueryWrapper<>(); + query.eq(MallMemberFootprint::getGoodsId, goodsId); + query.eq(MallMemberFootprint::getMemberId, memberId); + MallMemberFootprint mallMemberFootprint = this.baseMapper.selectOne(query); + if (mallMemberFootprint == null) { + mallMemberFootprint = new MallMemberFootprint(); + mallMemberFootprint.setGoodsId(goodsId); + mallMemberFootprint.setMemberId(memberId); + this.baseMapper.insert(mallMemberFootprint); + } else { + mallMemberFootprint.setUpdatedTime(new Date()); + this.baseMapper.updateById(mallMemberFootprint); + } + } + + @Override + public List<FootprintListVo> findMemberCollectionList(MemberFootprintListDto memberFootprintListDto) { + MallMember member = LoginUserUtil.getLoginUser(); + MallMemberFootprint footprint = new MallMemberFootprint(); + footprint.setMemberId(member.getId()); + + Page<MallMemberFootprint> page = new Page<>(memberFootprintListDto.getPageNow(), memberFootprintListDto.getPageSize()); + IPage<MallMemberFootprint> result = this.baseMapper.selectMemberCollectionListInPage(footprint, page); + if (CollUtil.isEmpty(result.getRecords())) { + return new ArrayList<>(); + } + + return result.getRecords().stream().map(item -> BeanUtil.copyProperties(item, FootprintListVo.class)).collect(Collectors.toList()); + } + + @Override + public void del(String ids) { + MallMember member = LoginUserUtil.getLoginUser(); + List<String> idsList = StrUtil.split(ids, ','); + + LambdaQueryWrapper<MallMemberFootprint> delQuery = new LambdaQueryWrapper<>(); + delQuery.in(MallMemberFootprint::getId, idsList); + delQuery.eq(MallMemberFootprint::getMemberId, member.getId()); + this.baseMapper.delete(delQuery); + } + + @Override + public void empty() { + MallMember member = LoginUserUtil.getLoginUser(); + + LambdaQueryWrapper<MallMemberFootprint> delQuery = new LambdaQueryWrapper<>(); + delQuery.eq(MallMemberFootprint::getMemberId, member.getId()); + this.baseMapper.delete(delQuery); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AddCollectionVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AddCollectionVo.java new file mode 100644 index 0000000..1e15951 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/AddCollectionVo.java @@ -0,0 +1,13 @@ +package cc.mrbird.febs.mall.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "AddCollectionVo", description = "") +public class AddCollectionVo { + + @ApiModelProperty(value = "商品ID") + private Long goodsId; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/CollectionListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/CollectionListVo.java new file mode 100644 index 0000000..a728c6d --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/CollectionListVo.java @@ -0,0 +1,25 @@ +package cc.mrbird.febs.mall.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "CollectionListVo", description = "会员收藏列表返回参数类") +public class CollectionListVo { + + @ApiModelProperty(value = "商品ID") + private Long goodsId; + + @ApiModelProperty(value = "商品名称") + private String goodsName; + + @ApiModelProperty(value = "缩略图") + private String thumb; + + @ApiModelProperty(value = "价格") + private String presentPrice; + + @ApiModelProperty(value = "上下架 2-下架") + private Integer isSale; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/FootprintListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/FootprintListVo.java new file mode 100644 index 0000000..a19c44f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/FootprintListVo.java @@ -0,0 +1,34 @@ +package cc.mrbird.febs.mall.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel(value = "FootprintListVo", description = "浏览记录列表返回参数类") +public class FootprintListVo { + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "浏览时间") + private Date updatedTime; + + @ApiModelProperty(value = "商品ID") + private Long goodsId; + + @ApiModelProperty(value = "商品名称") + private String goodsName; + + @ApiModelProperty(value = "缩略图") + private String thumb; + + @ApiModelProperty(value = "价格") + private String presentPrice; + + @ApiModelProperty(value = "上下架 2-下架") + private Integer isSale; + +} diff --git a/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml b/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml new file mode 100644 index 0000000..c6c80e1 --- /dev/null +++ b/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberCollectionMapper"> + + <select id="selectMemberCollectionListInPage" resultType="cc.mrbird.febs.mall.entity.MallMemberCollection"> + select + collection.* + ,goods.goods_name goodsName + ,goods.thumb + ,goods.present_price + ,goods.is_sale + from mall_member_collection collection + inner join mall_goods goods on collection.goods_id=goods.ID + <where> + <if test="record != null"> + <if test="record.memberId != null"> + and collection.member_id = #{record.memberId} + </if> + </if> + </where> + order by collection.created_time desc + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml b/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml new file mode 100644 index 0000000..9d83225 --- /dev/null +++ b/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberFootprintMapper"> + + <select id="selectMemberCollectionListInPage" resultType="cc.mrbird.febs.mall.entity.MallMemberFootprint"> + select + footprint.* + ,goods.goods_name goodsName + ,goods.thumb + ,goods.present_price + ,goods.is_sale + from mall_member_footprint footprint + inner join mall_goods goods on footprint.goods_id=goods.ID + <where> + <if test="record != null"> + <if test="record.memberId != null"> + and collection.member_id = #{record.memberId} + </if> + </if> + </where> + order by footprint.updated_time desc + </select> + +</mapper> \ No newline at end of file -- Gitblit v1.9.1