| 
					
				 | 
			
			
				@@ -1,5 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package cn.newfeifan.mall.module.product.service.spuapply; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.newfeifan.mall.framework.common.exception.ErrorCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.product.controller.admin.skuapply.vo.SkuApplySaveReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.product.controller.admin.spu.vo.ProductSpuSaveReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,7 +139,7 @@ public class SpuApplyServiceImpl implements SpuApplyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         spu.setStock(getSumValue(skus, SkuApplySaveReqVO::getStock, Integer::sum)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 若是 spu 已有状态则不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (spu.getStatus() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            spu.setStatus(ProductSpuStatusEnum.ENABLE.getStatus()); // 默认状态为上架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            spu.setStatus(ProductSpuStatusEnum.ENABLE.getStatus()); // 默认状态为上架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             spu.setSalesCount(0); // 默认商品销量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             spu.setBrowseCount(0); // 默认商品浏览量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -164,6 +165,8 @@ public class SpuApplyServiceImpl implements SpuApplyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 更新 SPU 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SpuApplyDO updateObj = BeanUtils.toBean(updateReqVO, SpuApplyDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SpuApplyDO spuApplyDO = spuApplyMapper.selectById(updateReqVO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        updateObj.setStatus(spuApplyDO.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initSpuFromSkus(updateObj, skuSaveReqList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //最大推广费, 单位: 分  add by Ben 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -276,6 +279,9 @@ public class SpuApplyServiceImpl implements SpuApplyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         validateSpuApplyExists(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         spuApplyMapper.deleteById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ProductSpuDO spu = spuService.getSpuByApplyId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spuService.deleteSpu(spu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void validateSpuApplyExists(Long id) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -330,6 +336,20 @@ public class SpuApplyServiceImpl implements SpuApplyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void updateSpuStatus(ProductSpuUpdateStatusReqVO updateReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 商户不允许回收商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(updateReqVO.getStatus().equals(ProductSpuStatusEnum.RECYCLE.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ErrorCode ERROR = new ErrorCode(1_008_005_001, "商户不允许回收商品"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw exception(ERROR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 如果商户的商品在回收站中,则商品不允许上下架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SpuApplyDO spuApplyDO = spuApplyMapper.selectById(updateReqVO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(spuApplyDO.getStatus().equals(ProductSpuStatusEnum.RECYCLE.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ErrorCode SPU_SAVE_FAIL_CATEGORY_LEVEL_ERROR = new ErrorCode(1_008_005_001, "商品在回收站中不允许上下架"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw exception(SPU_SAVE_FAIL_CATEGORY_LEVEL_ERROR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 校验存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         validateSpuApplyExists(updateReqVO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // TODO 非繁人:【可选】参与活动中的商品,不允许下架??? 
			 |