From 02b555c5191ff5f20155817560c9c9db7c979147 Mon Sep 17 00:00:00 2001 From: zhh Date: Thu, 2 Aug 2018 17:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=93=81=E7=89=8C=E5=85=B3?= =?UTF-8?q?=E6=B3=A8=E5=92=8C=E5=95=86=E5=93=81=E6=94=B6=E8=97=8F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MemberAttentionController.java | 55 +++++++++ .../MemberCollectionController.java | 55 +++++++++ .../portal/domain/MemberBrandAttention.java | 108 ++++++++++++++++++ .../domain/MemberProductCollection.java | 106 +++++++++++++++++ .../MemberBrandAttentionRepository.java | 16 +++ .../MemberProductCollectionRepository.java | 16 +++ .../service/MemberAttentionService.java | 26 +++++ .../service/MemberCollectionService.java | 17 +++ .../impl/MemberAttentionServiceImpl.java | 40 +++++++ .../impl/MemberCollectionServiceImpl.java | 40 +++++++ 10 files changed, 479 insertions(+) create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/controller/MemberCollectionController.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java create mode 100644 mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java diff --git a/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java b/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java new file mode 100644 index 0000000..7841817 --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java @@ -0,0 +1,55 @@ +package com.macro.mall.portal.controller; + +import com.macro.mall.portal.domain.CommonResult; +import com.macro.mall.portal.domain.MemberBrandAttention; +import com.macro.mall.portal.service.MemberAttentionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 会员关注品牌管理Controller + * Created by macro on 2018/8/2. + */ +@Controller +@Api(tags = "MemberAttentionController", description = "会员关注品牌管理") +@RequestMapping("/member/attention") +public class MemberAttentionController { + @Autowired + private MemberAttentionService memberAttentionService; + @ApiOperation("添加品牌关注") + @RequestMapping(value = "/add", method = RequestMethod.POST) + @ResponseBody + public Object add(@RequestBody MemberBrandAttention memberBrandAttention) { + int count = memberAttentionService.add(memberBrandAttention); + if(count>0){ + return new CommonResult().success(count); + }else{ + return new CommonResult().failed(); + } + } + + @ApiOperation("取消关注") + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @ResponseBody + public Object delete(Long memberId, Long brandId) { + int count = memberAttentionService.delete(memberId,brandId); + if(count>0){ + return new CommonResult().success(count); + }else{ + return new CommonResult().failed(); + } + } + + @ApiOperation("显示关注列表") + @RequestMapping(value = "/list/{memberId}", method = RequestMethod.GET) + @ResponseBody + public Object list(@PathVariable Long memberId) { + List memberBrandAttentionList = memberAttentionService.list(memberId); + return new CommonResult().success(memberBrandAttentionList); + } +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberCollectionController.java b/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberCollectionController.java new file mode 100644 index 0000000..1b4da69 --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/controller/MemberCollectionController.java @@ -0,0 +1,55 @@ +package com.macro.mall.portal.controller; + +import com.macro.mall.portal.domain.CommonResult; +import com.macro.mall.portal.domain.MemberProductCollection; +import com.macro.mall.portal.service.MemberCollectionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 会员收藏管理Controller + * Created by macro on 2018/8/2. + */ +@Controller +@Api(tags = "MemberCollectionController", description = "会员收藏管理") +@RequestMapping("/member/collection") +public class MemberCollectionController { + @Autowired + private MemberCollectionService memberCollectionService; + @ApiOperation("添加商品收藏") + @RequestMapping(value = "/addProduct", method = RequestMethod.POST) + @ResponseBody + public Object addProduct(@RequestBody MemberProductCollection productCollection) { + int count = memberCollectionService.addProduct(productCollection); + if(count>0){ + return new CommonResult().success(count); + }else{ + return new CommonResult().failed(); + } + } + + @ApiOperation("删除收藏商品") + @RequestMapping(value = "/deleteProduct", method = RequestMethod.POST) + @ResponseBody + public Object deleteProduct(Long memberId, Long productId) { + int count = memberCollectionService.deleteProduct(memberId,productId); + if(count>0){ + return new CommonResult().success(count); + }else{ + return new CommonResult().failed(); + } + } + + @ApiOperation("显示关注列表") + @RequestMapping(value = "/listProduct/{memberId}", method = RequestMethod.GET) + @ResponseBody + public Object list(@PathVariable Long memberId) { + List memberProductCollectionList = memberCollectionService.listProduct(memberId); + return new CommonResult().success(memberProductCollectionList); + } +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java b/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java new file mode 100644 index 0000000..c8f4fbe --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java @@ -0,0 +1,108 @@ +package com.macro.mall.portal.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.index.Indexed; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * 会员关注的品牌 + * Created by macro on 2018/8/2. + */ +@Document +public class MemberBrandAttention { + @Id + private String id; + @Indexed + private Long memberId; + private String memberNickname; + private String memberIcon; + @Indexed + private Long brandId; + private String brandName; + private String brandLogo; + private String brandCity; + private Integer brandAttentionCount; + private Date createTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public String getMemberNickname() { + return memberNickname; + } + + public void setMemberNickname(String memberNickname) { + this.memberNickname = memberNickname; + } + + public String getMemberIcon() { + return memberIcon; + } + + public void setMemberIcon(String memberIcon) { + this.memberIcon = memberIcon; + } + + public Long getBrandId() { + return brandId; + } + + public void setBrandId(Long brandId) { + this.brandId = brandId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getBrandLogo() { + return brandLogo; + } + + public void setBrandLogo(String brandLogo) { + this.brandLogo = brandLogo; + } + + public String getBrandCity() { + return brandCity; + } + + public void setBrandCity(String brandCity) { + this.brandCity = brandCity; + } + + public Integer getBrandAttentionCount() { + return brandAttentionCount; + } + + public void setBrandAttentionCount(Integer brandAttentionCount) { + this.brandAttentionCount = brandAttentionCount; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java b/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java new file mode 100644 index 0000000..0b494f4 --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java @@ -0,0 +1,106 @@ +package com.macro.mall.portal.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.index.Indexed; + +import java.util.Date; + +/** + * 用户收藏的商品 + * Created by macro on 2018/8/2. + */ +public class MemberProductCollection { + @Id + private String id; + @Indexed + private Long memberId; + private String memberNickname; + private String memberIcon; + @Indexed + private Long productId; + private String productName; + private String productPic; + private String productSubTitle; + private String productPrice; + private Date createTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public String getMemberNickname() { + return memberNickname; + } + + public void setMemberNickname(String memberNickname) { + this.memberNickname = memberNickname; + } + + public String getMemberIcon() { + return memberIcon; + } + + public void setMemberIcon(String memberIcon) { + this.memberIcon = memberIcon; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductPic() { + return productPic; + } + + public void setProductPic(String productPic) { + this.productPic = productPic; + } + + public String getProductSubTitle() { + return productSubTitle; + } + + public void setProductSubTitle(String productSubTitle) { + this.productSubTitle = productSubTitle; + } + + public String getProductPrice() { + return productPrice; + } + + public void setProductPrice(String productPrice) { + this.productPrice = productPrice; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java b/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java new file mode 100644 index 0000000..0339017 --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java @@ -0,0 +1,16 @@ +package com.macro.mall.portal.repository; + +import com.macro.mall.portal.domain.MemberBrandAttention; +import org.springframework.data.mongodb.repository.MongoRepository; + +import java.util.List; + +/** + * 会员关注Repository + * Created by macro on 2018/8/2. + */ +public interface MemberBrandAttentionRepository extends MongoRepository { + MemberBrandAttention findByMemberIdAndBrandId(Long memberId, Long brandId); + int deleteByMemberIdAndBrandId(Long memberId,Long brandId); + List findByMemberId(Long memberId); +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java b/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java new file mode 100644 index 0000000..1a2abdd --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java @@ -0,0 +1,16 @@ +package com.macro.mall.portal.repository; + +import com.macro.mall.portal.domain.MemberProductCollection; +import org.springframework.data.mongodb.repository.MongoRepository; + +import java.util.List; + +/** + * 商品收藏Repository + * Created by macro on 2018/8/2. + */ +public interface MemberProductCollectionRepository extends MongoRepository { + MemberProductCollection findByMemberIdAndProductId(Long memberId, Long productId); + int deleteByMemberIdAndProductId(Long memberId,Long productId); + List findByMemberId(Long memberId); +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java b/mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java new file mode 100644 index 0000000..977fd3b --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java @@ -0,0 +1,26 @@ +package com.macro.mall.portal.service; + +import com.macro.mall.portal.domain.MemberBrandAttention; + +import java.util.List; + +/** + * 会员关注Service + * Created by macro on 2018/8/2. + */ +public interface MemberAttentionService { + /** + * 添加关注 + */ + int add(MemberBrandAttention memberBrandAttention); + + /** + * 取消关注 + */ + int delete(Long memberId, Long brandId); + + /** + * 获取用户关注列表 + */ + List list(Long memberId); +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java b/mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java new file mode 100644 index 0000000..5b2d080 --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java @@ -0,0 +1,17 @@ +package com.macro.mall.portal.service; + +import com.macro.mall.portal.domain.MemberProductCollection; + +import java.util.List; + +/** + * 会员收藏Service + * Created by macro on 2018/8/2. + */ +public interface MemberCollectionService { + int addProduct(MemberProductCollection productCollection); + + int deleteProduct(Long memberId, Long productId); + + List listProduct(Long memberId); +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java new file mode 100644 index 0000000..42038ff --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java @@ -0,0 +1,40 @@ +package com.macro.mall.portal.service.impl; + +import com.macro.mall.portal.domain.MemberBrandAttention; +import com.macro.mall.portal.repository.MemberBrandAttentionRepository; +import com.macro.mall.portal.service.MemberAttentionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 会员关注Service实现类 + * Created by macro on 2018/8/2. + */ +@Service +public class MemberAttentionServiceImpl implements MemberAttentionService { + @Autowired + private MemberBrandAttentionRepository memberBrandAttentionRepository; + + @Override + public int add(MemberBrandAttention memberBrandAttention) { + int count = 0; + MemberBrandAttention findAttention = memberBrandAttentionRepository.findByMemberIdAndBrandId(memberBrandAttention.getMemberId(), memberBrandAttention.getBrandId()); + if (findAttention == null) { + memberBrandAttentionRepository.save(memberBrandAttention); + count = 1; + } + return count; + } + + @Override + public int delete(Long memberId, Long brandId) { + return memberBrandAttentionRepository.deleteByMemberIdAndBrandId(memberId,brandId); + } + + @Override + public List list(Long memberId) { + return memberBrandAttentionRepository.findByMemberId(memberId); + } +} diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java new file mode 100644 index 0000000..7c02ecc --- /dev/null +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java @@ -0,0 +1,40 @@ +package com.macro.mall.portal.service.impl; + +import com.macro.mall.portal.domain.MemberProductCollection; +import com.macro.mall.portal.repository.MemberProductCollectionRepository; +import com.macro.mall.portal.service.MemberCollectionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 会员收藏Service实现类 + * Created by macro on 2018/8/2. + */ +@Service +public class MemberCollectionServiceImpl implements MemberCollectionService { + @Autowired + private MemberProductCollectionRepository productCollectionRepository; + + @Override + public int addProduct(MemberProductCollection productCollection) { + int count = 0; + MemberProductCollection findCollection = productCollectionRepository.findByMemberIdAndProductId(productCollection.getMemberId(), productCollection.getProductId()); + if (findCollection == null) { + productCollectionRepository.save(productCollection); + count = 1; + } + return count; + } + + @Override + public int deleteProduct(Long memberId, Long productId) { + return productCollectionRepository.deleteByMemberIdAndProductId(memberId, productId); + } + + @Override + public List listProduct(Long memberId) { + return productCollectionRepository.findByMemberId(memberId); + } +}