| 
					
				 | 
			
			
				@@ -0,0 +1,282 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.gree.mall.contest.logic.goods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.core.collection.CollectionUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyuncs.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.bean.admin.AdminUserCom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.bean.goods.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.enums.GoodsNewsCategoryGoodsTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.exception.RemoteServiceException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.logic.common.CommonLogic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.entity.Goods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.entity.GoodsNewsCategory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.entity.GoodsNewsCategoryGoods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.entity.GoodsSpec; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.service.GoodsNewsCategoryGoodsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.service.GoodsNewsCategoryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.service.GoodsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.contest.plus.service.GoodsSpecService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.RequiredArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.BeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Slf4j 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RequiredArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class GoodsNewsCategoryLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final GoodsNewsCategoryService goodsNewsCategoryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final GoodsNewsCategoryGoodsService goodsNewsCategoryGoodsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final GoodsService goodsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final GoodsSpecService goodsSpecService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final CommonLogic commonLogic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 分页获取商品新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public IPage<GoodsNewsCategory> pageGoodsNewsCategory(HttpServletRequest request, Integer pageNum, Integer pageSize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> companyWechatIds = adminUser.getCompanyWechatIds(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return goodsNewsCategoryService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .in(CollectionUtil.isNotEmpty(companyWechatIds), GoodsNewsCategory::getCompanyWechatId, companyWechatIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .orderByAsc(GoodsNewsCategory::getSortNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .page(new Page<>(pageNum, pageSize)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 添加新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public GoodsNewsCategory addGoodsNewsCategory(HttpServletRequest request, String mainTitle, String subTitle,Integer type,Integer sortNum) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(loginCompanyWechatId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无添加新维度分类权限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (goodsNewsCategoryService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(sortNum !=null,GoodsNewsCategory::getSortNum,sortNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategory::getCompanyWechatId, loginCompanyWechatId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .count() > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("排序重复,请修改"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsNewsCategory goodsNewsCategory = new GoodsNewsCategory(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setMainTitle(mainTitle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setSubTitle(subTitle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setCreateBy(adminUser.getAdminUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setCompanyWechatId(loginCompanyWechatId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setCompanyName(adminUser.getLoginCompanyName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.setSortNum(sortNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategory.insert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return goodsNewsCategory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 编辑新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void vimGoodsNewsCategory(HttpServletRequest request, GoodsNewsCategoryVimBean reqDto) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(loginCompanyWechatId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无编辑新维度分类权限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String goodsNewsCategoryId = reqDto.getGoodsNewsCategoryId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(goodsNewsCategoryId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无效新维度分类"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (reqDto.getSortNum()!= null && goodsNewsCategoryService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(reqDto.getSortNum() !=null,GoodsNewsCategory::getSortNum,reqDto.getSortNum()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategory::getCompanyWechatId, loginCompanyWechatId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .ne(GoodsNewsCategory::getGoodsNewsCategoryId,reqDto.getGoodsNewsCategoryId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .count() > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("排序重复,请修改"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //清除原先所有关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ /*       initGoodsNewsCategory(goodsNewsCategoryId, loginCompanyWechatId, GoodsNewsCategoryGoodsTypeEnum.news.getCode());*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //更新新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reqDto.updateById(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //添加商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ /*       addNewsCategoryGoods(goodsNewsCategoryId, loginCompanyWechatId, adminUser.getCompanyName(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GoodsNewsCategoryGoodsTypeEnum.news.getCode(), reqDto.getGoodsList());*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 添加活动商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void addActiveGoods(HttpServletRequest request, ActiveGoodsAddReqBean activeGoodsAddReqBean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(loginCompanyWechatId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无编辑权限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //初始化活动商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        initGoodsNewsCategory(activeGoodsAddReqBean.getObjectId(), loginCompanyWechatId, activeGoodsAddReqBean.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //添加活动商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        addNewsCategoryGoods(activeGoodsAddReqBean.getObjectId(), loginCompanyWechatId, adminUser.getLoginCompanyName(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                activeGoodsAddReqBean.getType(), activeGoodsAddReqBean.getGoodsList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 添加分类商品  1=新维度分类,2=首页弹窗, 3=活动专区1,4=活动专区2左侧,5=活动专区2右侧,6=专场专区1,7=专场专区2 , 8=专场专区3 , 9=专场专区4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void addNewsCategoryGoods(String objectId, String companyWechatId, String companyName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                     Integer type, List<Goods> goodsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //添加新维度分类的商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!CollectionUtil.isNotEmpty(goodsList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //添加新维度分类的商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<GoodsNewsCategoryGoods> newsCategoryGoodsList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Goods goods : goodsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GoodsNewsCategoryGoods goodsNewsCategoryGoods = new GoodsNewsCategoryGoods(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newsCategoryGoodsList.add(goodsNewsCategoryGoods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setObjId(objectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setGoodsId(goods.getGoodsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setGoodsName(goods.getGoodsName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setCompanyWechatId(companyWechatId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setCompanyName(companyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsNewsCategoryGoods.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryGoodsService.saveBatch(newsCategoryGoodsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 初始化分类商品  1=新维度分类,2=首页弹窗, 3=活动专区1,4=活动专区2左侧,5=活动专区2右侧,6=专场专区1,7=专场专区2 , 8=专场专区3 , 9=专场专区4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void initGoodsNewsCategory(String objecId, String companyWechatId, Integer type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<GoodsNewsCategoryGoods> list = goodsNewsCategoryGoodsService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .select(GoodsNewsCategoryGoods::getGoodsNewsCategoryGoodsId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategoryGoods::getCompanyWechatId, companyWechatId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategoryGoods::getObjId, objecId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategoryGoods::getType, type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtil.isEmpty(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> newsCategoryGoodsIdList = list.stream().map(GoodsNewsCategoryGoods::getGoodsNewsCategoryGoodsId).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //删除与新维度分类商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryGoodsService.lambdaUpdate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .in(GoodsNewsCategoryGoods::getGoodsNewsCategoryGoodsId, newsCategoryGoodsIdList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 新维度分类详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public GoodsNewsCategoryDetailBean detail(String newsCategoryId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsNewsCategoryDetailBean respDto = new GoodsNewsCategoryDetailBean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String allTag = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsNewsCategory byId = goodsNewsCategoryService.getById(newsCategoryId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (byId == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return respDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BeanUtils.copyProperties(byId, respDto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsActiveDetail goodsActiveDetail = getGoodsActiveDetail(byId.getGoodsNewsCategoryId(), GoodsNewsCategoryGoodsTypeEnum.news.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        respDto.setGoodsList(goodsActiveDetail.getActiveGoodsList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return respDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取活动商品详情 1=新维度分类,2=首页弹窗, 3=活动专区1,4=活动专区2左侧,5=活动专区2右侧,6=专场专区1,7=专场专区2 , 8=专场专区3 , 9=专场专区4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public GoodsActiveDetail getGoodsActiveDetail(String objectId, Integer type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //活动商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<GoodsNewsCategoryGoods> list = goodsNewsCategoryGoodsService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategoryGoods::getObjId, objectId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(GoodsNewsCategoryGoods::getType, type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<GoodsNewsCategoryGoodsDetailBean> respNewsCategoryGoodsList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (GoodsNewsCategoryGoods newsCategoryGoods : list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GoodsNewsCategoryGoodsDetailBean respNewsCategoryGood = new GoodsNewsCategoryGoodsDetailBean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BeanUtils.copyProperties(newsCategoryGoods, respNewsCategoryGood); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            respNewsCategoryGoodsList.add(respNewsCategoryGood); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Goods goods = goodsService.getById(newsCategoryGoods.getGoodsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            respNewsCategoryGood.setGoods(goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //商品规格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<GoodsSpec> goodsSpecList = goodsSpecService.lambdaQuery().eq(GoodsSpec::getGoodsId, newsCategoryGoods.getGoodsId()).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            respNewsCategoryGood.setGoodsSpecs(goodsSpecList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsActiveDetail goodsActiveDetail = new GoodsActiveDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsActiveDetail.setActiveGoodsList(respNewsCategoryGoodsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return goodsActiveDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void editStatus(String goodsNewsCategoryId, Boolean status, HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsNewsCategoryVimBean goodsNewsCategoryVimBean = new GoodsNewsCategoryVimBean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryVimBean.setGoodsNewsCategoryId(goodsNewsCategoryId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryVimBean.setStatus(status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(loginCompanyWechatId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无编辑新维度分类权限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(goodsNewsCategoryId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无效新维度分类"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //更新新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryVimBean.updateById(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void delete(String goodsNewsCategoryId, HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminUserCom adminUser = commonLogic.getAdminUser(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(loginCompanyWechatId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无编辑新维度分类权限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isEmpty(goodsNewsCategoryId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RemoteServiceException("无效新维度分类"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //清除原先所有关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        initGoodsNewsCategory(goodsNewsCategoryId, loginCompanyWechatId, GoodsNewsCategoryGoodsTypeEnum.news.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GoodsNewsCategoryVimBean goodsNewsCategoryVimBean = new GoodsNewsCategoryVimBean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryVimBean.setGoodsNewsCategoryId(goodsNewsCategoryId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //删除新维度分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goodsNewsCategoryVimBean.deleteById(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |