diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/controller/HomeController.java b/mall-portal/src/main/java/com/buy507/mall/portal/controller/HomeController.java index b682a33..202ba17 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/controller/HomeController.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/controller/HomeController.java @@ -3,7 +3,12 @@ package com.buy507.mall.portal.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; import com.buy507.mall.common.api.CommonResult; import com.buy507.mall.model.PmsProduct; @@ -91,30 +96,4 @@ public class HomeController { return CommonResult.success(productSku); } - @ApiOperation("获取会员专区商品") - @RequestMapping(value = "/getVipProductList", method = RequestMethod.GET) - @ResponseBody - public CommonResult> getVipProductList(){ - List productList = homeService.getVipProductList(); - return CommonResult.success(productList); - } - - @ApiOperation("获取积分专区商品") - @RequestMapping(value = "/getPointProductList", method = RequestMethod.GET) - @ResponseBody - public CommonResult> getPointProductList(){ - List productList = homeService.getPointProductList(); - return CommonResult.success(productList); - } - - @ApiOperation("获取积分兑换专区") - @RequestMapping(value = "/getPointExchangeProductList", method = RequestMethod.GET) - @ResponseBody - public CommonResult> getPointExchangeProductList(){ - List productList = homeService.getPointExchangeProductList(); - return CommonResult.success(productList); - } - - - } diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/dao/HomeDao.java b/mall-portal/src/main/java/com/buy507/mall/portal/dao/HomeDao.java index c20d66f..eefa051 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/dao/HomeDao.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/dao/HomeDao.java @@ -39,35 +39,5 @@ public interface HomeDao { /* * 获取所有商品信息按销量排序 */ - List getAllPioductList(); - - /** - * 获取会员专区 - */ - List getProductVipStatus(@Param("offset") Integer offset,@Param("limit") Integer limit); - - /** - * 获取积分专区 - */ - List getProductpointSareaStatus(@Param("offset") Integer offset,@Param("limit") Integer limit); - - /** - * 获取积分兑换专区 - */ - List getProductpointsExchangeStatus(@Param("offset") Integer offset,@Param("limit") Integer limit); - - /** - * 获取会员专区详情 - */ - List getVipStatusList(); - - /** - *获取积分专区商品 - */ - List getPointStatusList(); - - /** - *获取积分兑换专区商品 - */ - List getPointExchangeProductList(); + List getAllPioductList(); } diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/domain/HomeContentResult.java b/mall-portal/src/main/java/com/buy507/mall/portal/domain/HomeContentResult.java index 8514fca..ba36f3f 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/domain/HomeContentResult.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/domain/HomeContentResult.java @@ -27,12 +27,6 @@ public class HomeContentResult { private List hotProductList; //推荐专题 private List subjectList; - //会员专区 - private List vipProductList; - //积分专区 - private List pointsAreaProductList; - //积分兑换专区 - private List pointsExchangeProductList; //查询所有商品按销量排序 private List allProductList; } diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/HomeService.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/HomeService.java index 18458b8..e866f5a 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/service/HomeService.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/HomeService.java @@ -40,21 +40,9 @@ public interface HomeService { * @param productId * @return */ - - /** - * 获取会员专区商品 - * @param - * @return - */ - List getVipProductList(); - ProductDetailResult getProductInfo(Long productId); ProductSkuResult getProductSku(Long productId, String sp1, String sp2, String sp3); List getProductList(Long brandId, Long categoryId, String sortType, Integer pageSize, Integer pageNum); - - List getPointProductList(); - - List getPointExchangeProductList(); } diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/HomeServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/HomeServiceImpl.java index 2548bad..bfd5078 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/HomeServiceImpl.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/HomeServiceImpl.java @@ -67,262 +67,232 @@ import com.github.pagehelper.PageHelper; */ @Service public class HomeServiceImpl implements HomeService { - @Autowired - private SmsHomeAdvertiseMapper advertiseMapper; - @Autowired - private HomeDao homeDao; - @Autowired - private SmsFlashPromotionMapper flashPromotionMapper; - @Autowired - private SmsFlashPromotionSessionMapper promotionSessionMapper; - @Autowired - private PmsProductMapper productMapper; - @Autowired - private PmsProductCategoryMapper productCategoryMapper; - @Autowired - private CmsSubjectMapper subjectMapper; - @Autowired - private PmsCommentReplayMapper pmsCommentReplayMapper; - @Autowired - private PmsCommentMapper pmsCommentMapper; + @Autowired + private SmsHomeAdvertiseMapper advertiseMapper; + @Autowired + private HomeDao homeDao; + @Autowired + private SmsFlashPromotionMapper flashPromotionMapper; + @Autowired + private SmsFlashPromotionSessionMapper promotionSessionMapper; + @Autowired + private PmsProductMapper productMapper; + @Autowired + private PmsProductCategoryMapper productCategoryMapper; + @Autowired + private CmsSubjectMapper subjectMapper; + @Autowired + private PmsCommentReplayMapper pmsCommentReplayMapper; + @Autowired + private PmsCommentMapper pmsCommentMapper; + + @Autowired + private PmsProductFullReductionMapper pmsProductFullReductionMapper; - @Autowired - private PmsProductFullReductionMapper pmsProductFullReductionMapper; - - @Autowired - private PmsProductAttributeMapper pmsProductAttributeMapper; - - @Autowired - private PmsProductAttributeValueMapper productAttributeValueMapper; - - @Autowired - private MemberProductCollectionRepository productCollectionRepository; - - @Autowired - private PmsSkuStockMapper skuStockMapper; - - @Autowired - private UmsMemberService memberService; - - @Autowired + @Autowired + private PmsProductAttributeMapper pmsProductAttributeMapper; + + @Autowired + private PmsProductAttributeValueMapper productAttributeValueMapper; + + @Autowired + private MemberProductCollectionRepository productCollectionRepository; + + @Autowired + private PmsSkuStockMapper skuStockMapper; + + @Autowired + private UmsMemberService memberService; + + @Autowired private PortalCommonService commonService; + + @Override + public HomeContentResult content() { + + HomeContentResult result = new HomeContentResult(); + //获取首页广告 + result.setAdvertiseList(getHomeAdvertiseList()); + //获取推荐品牌 + result.setBrandList(homeDao.getRecommendBrandList(0,4)); + //获取秒杀信息 + result.setHomeFlashPromotion(getHomeFlashPromotion()); + + List newProductList = homeDao.getNewProductList(0, 4); + List hotProductList = homeDao.getHotProductList(0, 4); + List allProductList = homeDao.getAllPioductList(); + + //根据会员等级显示不同的商品价格 + UmsMember member = memberService.getCurrentMember(); + if(member != null) { + BigDecimal discount = commonService.getDiscount(member.getId()); + if(discount != null) { + for(PmsProduct product : newProductList) { + product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + for(PmsProduct product : hotProductList) { + product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + for(PmsProduct product : allProductList) { + product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + } + + //获取新品推荐 + result.setNewProductList(newProductList); + //获取人气推荐 + result.setHotProductList(hotProductList); + //获取推荐专题 + //result.setSubjectList(homeDao.getRecommendSubjectList(0,4)); + //获取上次所有商品,按销量排序 + result.setAllProductList(allProductList); + return result; + } - @Override - public HomeContentResult content() { + @Override + public List recommendProductList(Integer pageSize, Integer pageNum) { + // TODO: 2019/1/29 暂时默认推荐所有商品 + PageHelper.startPage(pageNum,pageSize); + PmsProductExample example = new PmsProductExample(); + example.createCriteria() + .andDeleteStatusEqualTo(0) + .andPublishStatusEqualTo(1); + return productMapper.selectByExample(example); + } - HomeContentResult result = new HomeContentResult(); - //获取首页广告 - result.setAdvertiseList(getHomeAdvertiseList()); - //获取推荐品牌 - result.setBrandList(homeDao.getRecommendBrandList(0, 4)); - //获取秒杀信息 - result.setHomeFlashPromotion(getHomeFlashPromotion()); + @Override + public List getProductCateList() { + PmsProductCategoryExample example = new PmsProductCategoryExample(); + example.createCriteria() + .andShowStatusEqualTo(1); + example.setOrderByClause("sort desc"); + List productCategories = productCategoryMapper.selectByExample(example); + + List options = new ArrayList<>(); + for(PmsProductCategory category : productCategories) { + //我们这里最大的根节点ID是0,所以找出所有parent id为0的节点,然后调用我们的递归算法 + if(category.getParentId().equals(0L)){ + options.add(recursionCategory(category, productCategories)); + } + } + + return options; + } + + private ProductCategoryOptions recursionCategory(PmsProductCategory category, List list) { + List childList = new ArrayList<>(); + // 为每一个父节点增加子树(List形式,没有则为空的list) + ProductCategoryOptions node = new ProductCategoryOptions(); + node.setId(category.getId()); + node.setName(category.getName()); + node.setLevel(category.getLevel()); + node.setIcon(category.getIcon()); + node.setPid(category.getParentId()); + for (PmsProductCategory childCategory : list){ + //如果子节点的pid等于父节点的ID,则说明是父子关系 + if(childCategory.getParentId().equals(category.getId())){ + // 继续调用递归算法,将当前作为父节点,继续找他的子节点,反复执行。 + childList.add(recursionCategory(childCategory, list)); + } + } + + // 当遍历完成,返回调用的节点 + if(!childList.isEmpty()) { + node.setChildren(childList); + } else { + node.setChildren(null); + } + return node; + } - List VipProductList = homeDao.getProductVipStatus(0, 4); - List PointAreaProductList = homeDao.getProductpointSareaStatus(0, 4); - List pointsExchangeProductList = homeDao.getProductpointsExchangeStatus(0, 4); - List allProductList = homeDao.getAllPioductList(); + @Override + public List getSubjectList(Long cateId, Integer pageSize, Integer pageNum) { + PageHelper.startPage(pageNum,pageSize); + CmsSubjectExample example = new CmsSubjectExample(); + CmsSubjectExample.Criteria criteria = example.createCriteria(); + criteria.andShowStatusEqualTo(1); + if(cateId!=null){ + criteria.andCategoryIdEqualTo(cateId); + } + return subjectMapper.selectByExample(example); + } - //根据会员等级显示不同的商品价格 - UmsMember member = memberService.getCurrentMember(); - if (member != null) { - BigDecimal discount = commonService.getDiscount(member.getId()); - if (discount != null) { - for (PmsProduct product : VipProductList) { - product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - for (PmsProduct product : PointAreaProductList) { - product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - for (PmsProduct product : pointsExchangeProductList) { - product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - for (PmsProduct product : allProductList) { - product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - } - } + private HomeFlashPromotion getHomeFlashPromotion() { + HomeFlashPromotion homeFlashPromotion = new HomeFlashPromotion(); + //获取当前秒杀活动 + Date now = new Date(); + SmsFlashPromotion flashPromotion = getFlashPromotion(now); + if (flashPromotion != null) { + //获取当前秒杀场次 + SmsFlashPromotionSession flashPromotionSession = getFlashPromotionSession(now); + if (flashPromotionSession != null) { + homeFlashPromotion.setStartTime(flashPromotionSession.getStartTime()); + homeFlashPromotion.setEndTime(flashPromotionSession.getEndTime()); + homeFlashPromotion.setName(flashPromotion.getTitle()); + //获取下一个秒杀场次 + SmsFlashPromotionSession nextSession = getNextFlashPromotionSession(homeFlashPromotion.getStartTime()); + if(nextSession!=null){ + homeFlashPromotion.setNextStartTime(nextSession.getStartTime()); + homeFlashPromotion.setNextEndTime(nextSession.getEndTime()); + } + //获取秒杀商品 + List flashProductList = homeDao.getFlashProductList(flashPromotion.getId(), flashPromotionSession.getId()); + homeFlashPromotion.setProductList(flashProductList); + } + } + return homeFlashPromotion; + } - //获取会员商品 - result.setVipProductList(VipProductList); - //获取积分专区商品 - result.setPointsAreaProductList(PointAreaProductList); - //获取积分兑换商品 - result.setPointsExchangeProductList(pointsExchangeProductList); - //获取推荐专题 - //result.setSubjectList(homeDao.getRecommendSubjectList(0,4)); - //获取上次所有商品,按销量排序 - result.setAllProductList(allProductList); - return result; - } + //获取下一个场次信息 + private SmsFlashPromotionSession getNextFlashPromotionSession(Date date) { + SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); + sessionExample.createCriteria() + .andStartTimeGreaterThan(date); + sessionExample.setOrderByClause("start_time asc"); + List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); + if (!CollectionUtils.isEmpty(promotionSessionList)) { + return promotionSessionList.get(0); + } + return null; + } - @Override - public List recommendProductList(Integer pageSize, Integer pageNum) { - // TODO: 2019/1/29 暂时默认推荐所有商品 - PageHelper.startPage(pageNum, pageSize); - PmsProductExample example = new PmsProductExample(); - example.createCriteria() - .andDeleteStatusEqualTo(0) - .andPublishStatusEqualTo(1); - return productMapper.selectByExample(example); - } + private List getHomeAdvertiseList() { + SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample(); + example.createCriteria().andTypeEqualTo(1).andStatusEqualTo(1); + example.setOrderByClause("sort desc"); + return advertiseMapper.selectByExample(example); + } - @Override - public List getProductCateList() { - PmsProductCategoryExample example = new PmsProductCategoryExample(); - example.createCriteria() - .andShowStatusEqualTo(1); - example.setOrderByClause("sort desc"); - List productCategories = productCategoryMapper.selectByExample(example); + //根据时间获取秒杀活动 + private SmsFlashPromotion getFlashPromotion(Date date) { + Date currDate = DateUtil.getDate(date); + SmsFlashPromotionExample example = new SmsFlashPromotionExample(); + example.createCriteria() + .andStatusEqualTo(1) + .andStartDateLessThanOrEqualTo(currDate) + .andEndDateGreaterThanOrEqualTo(currDate); + List flashPromotionList = flashPromotionMapper.selectByExample(example); + if (!CollectionUtils.isEmpty(flashPromotionList)) { + return flashPromotionList.get(0); + } + return null; + } - List options = new ArrayList<>(); - for (PmsProductCategory category : productCategories) { - //我们这里最大的根节点ID是0,所以找出所有parent id为0的节点,然后调用我们的递归算法 - if (category.getParentId().equals(0L)) { - options.add(recursionCategory(category, productCategories)); - } - } - - return options; - } - - /** - *获取会员专区商品 - */ - @Override - public List getVipProductList() { - return homeDao.getVipStatusList(); - } - - /** - *获取积分专区商品 - */ - @Override - public List getPointProductList() { - return homeDao.getPointStatusList(); - } - - /** - *获取积分兑换专区 - */ - @Override - public List getPointExchangeProductList() { - return homeDao.getPointExchangeProductList(); - } - private ProductCategoryOptions recursionCategory(PmsProductCategory category, List list) { - List childList = new ArrayList<>(); - // 为每一个父节点增加子树(List形式,没有则为空的list) - ProductCategoryOptions node = new ProductCategoryOptions(); - node.setId(category.getId()); - node.setName(category.getName()); - node.setLevel(category.getLevel()); - node.setIcon(category.getIcon()); - node.setPid(category.getParentId()); - for (PmsProductCategory childCategory : list) { - //如果子节点的pid等于父节点的ID,则说明是父子关系 - if (childCategory.getParentId().equals(category.getId())) { - // 继续调用递归算法,将当前作为父节点,继续找他的子节点,反复执行。 - childList.add(recursionCategory(childCategory, list)); - } - } - - // 当遍历完成,返回调用的节点 - if (!childList.isEmpty()) { - node.setChildren(childList); - } else { - node.setChildren(null); - } - return node; - } - - @Override - public List getSubjectList(Long cateId, Integer pageSize, Integer pageNum) { - PageHelper.startPage(pageNum, pageSize); - CmsSubjectExample example = new CmsSubjectExample(); - CmsSubjectExample.Criteria criteria = example.createCriteria(); - criteria.andShowStatusEqualTo(1); - if (cateId != null) { - criteria.andCategoryIdEqualTo(cateId); - } - return subjectMapper.selectByExample(example); - } - - private HomeFlashPromotion getHomeFlashPromotion() { - HomeFlashPromotion homeFlashPromotion = new HomeFlashPromotion(); - //获取当前秒杀活动 - Date now = new Date(); - SmsFlashPromotion flashPromotion = getFlashPromotion(now); - if (flashPromotion != null) { - //获取当前秒杀场次 - SmsFlashPromotionSession flashPromotionSession = getFlashPromotionSession(now); - if (flashPromotionSession != null) { - homeFlashPromotion.setStartTime(flashPromotionSession.getStartTime()); - homeFlashPromotion.setEndTime(flashPromotionSession.getEndTime()); - homeFlashPromotion.setName(flashPromotion.getTitle()); - //获取下一个秒杀场次 - SmsFlashPromotionSession nextSession = getNextFlashPromotionSession(homeFlashPromotion.getStartTime()); - if (nextSession != null) { - homeFlashPromotion.setNextStartTime(nextSession.getStartTime()); - homeFlashPromotion.setNextEndTime(nextSession.getEndTime()); - } - //获取秒杀商品 - List flashProductList = homeDao.getFlashProductList(flashPromotion.getId(), flashPromotionSession.getId()); - homeFlashPromotion.setProductList(flashProductList); - } - } - return homeFlashPromotion; - } - - //获取下一个场次信息 - private SmsFlashPromotionSession getNextFlashPromotionSession(Date date) { - SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); - sessionExample.createCriteria() - .andStartTimeGreaterThan(date); - sessionExample.setOrderByClause("start_time asc"); - List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); - if (!CollectionUtils.isEmpty(promotionSessionList)) { - return promotionSessionList.get(0); - } - return null; - } - - private List getHomeAdvertiseList() { - SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample(); - example.createCriteria().andTypeEqualTo(1).andStatusEqualTo(1); - example.setOrderByClause("sort desc"); - return advertiseMapper.selectByExample(example); - } - - //根据时间获取秒杀活动 - private SmsFlashPromotion getFlashPromotion(Date date) { - Date currDate = DateUtil.getDate(date); - SmsFlashPromotionExample example = new SmsFlashPromotionExample(); - example.createCriteria() - .andStatusEqualTo(1) - .andStartDateLessThanOrEqualTo(currDate) - .andEndDateGreaterThanOrEqualTo(currDate); - List flashPromotionList = flashPromotionMapper.selectByExample(example); - if (!CollectionUtils.isEmpty(flashPromotionList)) { - return flashPromotionList.get(0); - } - return null; - } - - //根据时间获取秒杀场次 - private SmsFlashPromotionSession getFlashPromotionSession(Date date) { - Date currTime = DateUtil.getTime(date); - SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); - sessionExample.createCriteria() - .andStartTimeLessThanOrEqualTo(currTime) - .andEndTimeGreaterThanOrEqualTo(currTime); - List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); - if (!CollectionUtils.isEmpty(promotionSessionList)) { - return promotionSessionList.get(0); - } - return null; - } - - //获取商品详情 + //根据时间获取秒杀场次 + private SmsFlashPromotionSession getFlashPromotionSession(Date date) { + Date currTime = DateUtil.getTime(date); + SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); + sessionExample.createCriteria() + .andStartTimeLessThanOrEqualTo(currTime) + .andEndTimeGreaterThanOrEqualTo(currTime); + List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); + if (!CollectionUtils.isEmpty(promotionSessionList)) { + return promotionSessionList.get(0); + } + return null; + } + //获取商品详情 @Override public ProductDetailResult getProductInfo(Long productId) { PmsProduct product = productMapper.selectByPrimaryKey(productId); @@ -331,15 +301,15 @@ public class HomeServiceImpl implements HomeService { List result = Arrays.asList(detailResult.getAlbumPics().toString().split(",")); detailResult.setListAlbumPics(result); detailResult.setAlbumPics(null); - PmsProductFullReduction ppFullReduction = (PmsProductFullReduction) pmsProductFullReductionMapper.getPmsProductFullReduction(productId); + PmsProductFullReduction ppFullReduction =(PmsProductFullReduction)pmsProductFullReductionMapper.getPmsProductFullReduction(productId); detailResult.setPmsProductFullReduction(ppFullReduction);//满减商品 - + UmsMember currentMember = memberService.getCurrentMember();//获取用户信息 - if (currentMember == null) { + if(currentMember == null) { detailResult.setWhetherTheCollection(0);//默认商品未收藏,1代表收藏 } else { - for (MemberProductCollection scproduct : productCollectionRepository.findByMemberId(currentMember.getId())) { - if (productId == scproduct.getProductId()) { + for(MemberProductCollection scproduct:productCollectionRepository.findByMemberId(currentMember.getId())){ + if(productId==scproduct.getProductId()){ detailResult.setWhetherTheCollection(1); } } @@ -353,19 +323,19 @@ public class HomeServiceImpl implements HomeService { List specChildList = new ArrayList<>(); ProductAttributeResult spec = null; ProductAttributeResult specChild = null; - String array[] = null; - - for (PmsProductAttribute attribute : attributeList) { + String array [] = null; + + for(PmsProductAttribute attribute : attributeList) { spec = new ProductAttributeResult(); spec.setId(attribute.getId()); spec.setName(attribute.getName()); specList.add(spec); - + //属性录入方式:0->手工录入;1->从列表中选取 //是否支持手动新增;0->不支持;1->支持 - if (1 == attribute.getInputType() && 0 == attribute.getHandAddStatus()) { + if(1 == attribute.getInputType() && 0 == attribute.getHandAddStatus()) { array = attribute.getInputList().split(","); - for (int i = 0; i < array.length; i++) { + for(int i=0; i attributeValueList = productAttributeValueMapper.selectByExample(attributeValueExample); - for (PmsProductAttributeValue value : attributeValueList) { + for(PmsProductAttributeValue value : attributeValueList) { array = value.getValue().split(","); - for (String s : array) { + for(String s : array) { specChild = new ProductAttributeResult(); specChild.setPid(attribute.getId()); specChild.setName(s); @@ -386,31 +356,31 @@ public class HomeServiceImpl implements HomeService { } } } - + detailResult.setSpecList(specList); detailResult.setSpecChildList(specChildList); - List pmsComment = (List) pmsCommentMapper.getPmsComment(productId);//评论基础信息 - if (pmsComment.size() > 0) { - int i = pmsCommentMapper.getCountComment(productId);//评论总数 - int j = pmsCommentMapper.getApplauseCount(productId) * 100 / i;//好评率 好评数除以评论 总数 默认好评为大于等于2星 - detailResult.setCountComent(i); - detailResult.setApplauseRate(j); - for (int a = 0; a < pmsComment.size(); a++) { - List pcr = (List) pmsCommentReplayMapper.getPmsCommentReplay(pmsComment.get(a).getId()); - pmsComment.get(a).setPmsCommentReplay(pcr);//评论回复 逐个添加 - } - detailResult.setPmsComment(pmsComment); + List pmsComment =(List) pmsCommentMapper.getPmsComment(productId);//评论基础信息 + if(pmsComment.size()>0){ + int i=pmsCommentMapper.getCountComment(productId);//评论总数 + int j=pmsCommentMapper.getApplauseCount(productId)*100/i;//好评率 好评数除以评论 总数 默认好评为大于等于2星 + detailResult.setCountComent(i); + detailResult.setApplauseRate(j); + for(int a=0;a pcr =(List) pmsCommentReplayMapper.getPmsCommentReplay(pmsComment.get(a).getId()); + pmsComment.get(a).setPmsCommentReplay(pcr);//评论回复 逐个添加 } - + detailResult.setPmsComment(pmsComment); + } + //根据会员等级显示不同的商品价格 UmsMember member = memberService.getCurrentMember(); - if (member != null) { - BigDecimal discount = commonService.getDiscount(member.getId()); - if (discount != null) { - detailResult.setPrice(detailResult.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - } - + if(member != null) { + BigDecimal discount = commonService.getDiscount(member.getId()); + if(discount != null) { + detailResult.setPrice(detailResult.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + return detailResult; } @@ -419,79 +389,79 @@ public class HomeServiceImpl implements HomeService { PmsSkuStockExample example = new PmsSkuStockExample(); PmsSkuStockExample.Criteria criteria = example.createCriteria(); criteria.andProductIdEqualTo(productId); - if (!StringUtils.isEmpty(sp1)) { //mcoooo + if(!StringUtils.isEmpty(sp1)) { //mcoooo criteria.andSp1EqualTo(sp1); } - if (!StringUtils.isEmpty(sp2)) { //mcoooo + if(!StringUtils.isEmpty(sp2)) { //mcoooo criteria.andSp2EqualTo(sp2); } - if (!StringUtils.isEmpty(sp3)) { + if(!StringUtils.isEmpty(sp3)) { criteria.andSp3EqualTo(sp3); } List list = skuStockMapper.selectByExample(example); ProductSkuResult skuResult = new ProductSkuResult(); - for (PmsSkuStock stock : list) { + for(PmsSkuStock stock : list) { BeanUtils.copyProperties(stock, skuResult); } - + //根据会员等级显示不同的商品价格 UmsMember member = memberService.getCurrentMember(); - if (member != null) { - BigDecimal discount = commonService.getDiscount(member.getId()); - if (discount != null) { - skuResult.setPrice(skuResult.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - } - + if(member != null) { + BigDecimal discount = commonService.getDiscount(member.getId()); + if(discount != null) { + skuResult.setPrice(skuResult.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + return skuResult; } @Override public List getProductList(Long brandId, Long categoryId, String sortType, - Integer pageSize, Integer pageNum) { + Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); PmsProductExample example = new PmsProductExample(); PmsProductExample.Criteria criteria = example.createCriteria(); criteria.andDeleteStatusEqualTo(0); - if (brandId != null) { + if(brandId != null) { criteria.andBrandIdEqualTo(brandId); } - if (categoryId != null) { + if(categoryId != null) { criteria.andProductCategoryIdEqualTo(categoryId); } - + //综合排序 - if ("1".equals(sortType)) { + if("1".equals(sortType)) { example.setOrderByClause("id asc"); } //销量 - if ("2".equals(sortType)) { + if("2".equals(sortType)) { example.setOrderByClause("sale desc"); } //价格升序 - if ("3".equals(sortType)) { + if("3".equals(sortType)) { example.setOrderByClause("price asc"); } //价格降序 - if ("4".equals(sortType)) { + if("4".equals(sortType)) { example.setOrderByClause("price desc"); } - + List productList = productMapper.selectByExample(example); - + //根据会员等级显示不同的商品价格 UmsMember member = memberService.getCurrentMember(); - if (member != null) { - BigDecimal discount = commonService.getDiscount(member.getId()); - if (discount != null) { - for (PmsProduct product : productList) { - product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); - } - } - } - + if(member != null) { + BigDecimal discount = commonService.getDiscount(member.getId()); + if(discount != null) { + for(PmsProduct product : productList) { + product.setPrice(product.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + } + return productList; } - + } diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java index 1b99b55..8de1f3d 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java @@ -3,8 +3,6 @@ package com.buy507.mall.portal.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; -import com.alipay.api.AlipayApiException; -import com.alipay.api.internal.util.AlipaySignature; import com.buy507.mall.common.api.CommonResult; import com.buy507.mall.common.util.MD5Util; import com.buy507.mall.mapper.*; @@ -45,6 +43,9 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ExecutorService; +import com.alipay.api.internal.util.AlipaySignature; +import com.alipay.api.AlipayApiException; + /** * 前台订单管理Service */ @@ -363,41 +364,41 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { //支付类型: 0->未支付;1->支付宝;2->微信; 3->线下支付; 4->积分支付 //判断是否为积分专区商品 - if (isPointsExchangeStatus) { - orderResult.setPayType(4); // 设置为积分支付 - orderResult.setPayTypeName("积分支付"); - } else { - // 如果不是积分兑换专区商品,则继续使用其他支付方式 - if (order.getPayType() != null) { - orderResult.setPayType(order.getPayType()); - if (order.getPayType() == 0) { - orderResult.setPayTypeName("未支付"); - } else if (order.getPayType() == 1) { - orderResult.setPayTypeName("支付宝支付"); - } else if (order.getPayType() == 2) { - orderResult.setPayTypeName("微信支付"); - } else if (order.getPayType() == 3) { //mcoo todo - orderResult.setPayTypeName("线下支付"); - DmsOfflinePaymentRecord paymentRecord = offlinePaymentRecordMapper.selectOneByOrderId(orderId); - DmsSellerBankAccount bankAccount = sellerBankAccountMapper.selectOneById(paymentRecord.getSellerBankAccountId()); - OfflinePaymentRecordResult recordResult = new OfflinePaymentRecordResult(); - BeanUtils.copyProperties(paymentRecord, recordResult); - BeanUtils.copyProperties(bankAccount, recordResult); + if(isPointsExchangeStatus) { + orderResult.setPayType(4); // 设置为积分支付 + orderResult.setPayTypeName("积分支付"); + }else { + // 如果不是积分兑换专区商品,则继续使用其他支付方式 + if (order.getPayType() != null) { + orderResult.setPayType(order.getPayType()); + if (order.getPayType() == 0) { + orderResult.setPayTypeName("未支付"); + } else if (order.getPayType() == 1) { + orderResult.setPayTypeName("支付宝支付"); + } else if (order.getPayType() == 2) { + orderResult.setPayTypeName("微信支付"); + } else if (order.getPayType() == 3) { //mcoo todo + orderResult.setPayTypeName("线下支付"); + DmsOfflinePaymentRecord paymentRecord = offlinePaymentRecordMapper.selectOneByOrderId(orderId); + DmsSellerBankAccount bankAccount = sellerBankAccountMapper.selectOneById(paymentRecord.getSellerBankAccountId()); + OfflinePaymentRecordResult recordResult = new OfflinePaymentRecordResult(); + BeanUtils.copyProperties(paymentRecord, recordResult); + BeanUtils.copyProperties(bankAccount, recordResult); - if (recordResult.getConfirmStatus() == 1) { - recordResult.setConfirmStatusName("已审核"); - } else { - recordResult.setConfirmStatusName("未审核"); - } - orderResult.setPaymentRecord(recordResult); - } else { - orderResult.setPayTypeName("积分支付"); - } - } else { - orderResult.setPayType(0); - orderResult.setPayTypeName("未支付"); - } - } + if (recordResult.getConfirmStatus() == 1) { + recordResult.setConfirmStatusName("已审核"); + } else { + recordResult.setConfirmStatusName("未审核"); + } + orderResult.setPaymentRecord(recordResult); + } else { + orderResult.setPayTypeName("积分支付"); + } + } else { + orderResult.setPayType(0); + orderResult.setPayTypeName("未支付"); + } + } orderResult.setDeliveryTime(order.getDeliveryTime()); orderResult.setReceiveTime(order.getReceiveTime()); @@ -747,7 +748,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { return CommonResult.validateFailed("未查询到商品信息"); } - PmsProduct product = productMapper.selectByPrimaryKey(skuStock.getProductId()); + PmsProduct product = new PmsProduct(); // 判断商品是否属于积分兑换区 boolean isPointsExchangeStatus = product.getPointsExchangeStatus() == 1; diff --git a/mall-portal/src/main/resources/dao/HomeDao.xml b/mall-portal/src/main/resources/dao/HomeDao.xml index ad91a71..7a9daa8 100644 --- a/mall-portal/src/main/resources/dao/HomeDao.xml +++ b/mall-portal/src/main/resources/dao/HomeDao.xml @@ -61,6 +61,11 @@ WHERE hp.recommend_status = 1 AND p.publish_status = 1 + AND ( + p.vip_status = 1 OR + p.points_area_status = 1 OR + p.points_exchange_status = 1 + ) ORDER BY hp.sort DESC LIMIT #{offset}, #{limit}; @@ -78,56 +83,5 @@ hs.sort DESC LIMIT #{offset}, #{limit}; - - - - - - - - - - - - + \ No newline at end of file