| 
					
				 | 
			
			
				@@ -0,0 +1,100 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.ruoyi.system.utils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.DateUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.domain.PostCollections; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.domain.vo.PostCollectionsVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.mapper.PostCollectionsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.mapper.PostCollectionsSystemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Component; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Objects; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import static com.ruoyi.common.utils.SecurityUtils.getUsername; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Component 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class CollectionStatusJudgment { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static PostCollectionsSystemMapper postCollectionsSystemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static PostCollectionsMapper postCollectionsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setPostCollectionsSystemMapper(PostCollectionsSystemMapper postCollectionsSystemMapper) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CollectionStatusJudgment.postCollectionsSystemMapper = postCollectionsSystemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setPostCollectionsMapper(PostCollectionsMapper postCollectionsMapper) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CollectionStatusJudgment.postCollectionsMapper = postCollectionsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 如果已经上架,判断藏品状态时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param postCollectionsVo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void JudgmentTime(PostCollectionsVo postCollectionsVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date nowDate = DateUtils.getNowDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date startTime = postCollectionsVo.getStartTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date endTime = postCollectionsVo.getEndTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取此藏品套系status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Long systemId = postCollectionsVo.getSystemId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String postCollectionsSystemStatus = postCollectionsSystemMapper.selectPostCollectionsSystemByStatus(systemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (Objects.equals(postCollectionsSystemStatus, "1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //判空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (null != startTime && null != endTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 判断时间 (0预售 /1已售尽 /2正在售卖 /3已过期) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 根据当前时间,对比售卖时间, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 当前时间小于售卖时间,该套系藏品为预售, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 当前时间大于售卖时间为已过期, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 当前时间在售卖时间之间并且数量大于0为正在售卖 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 * 其余情况已售尽 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (nowDate.before(startTime)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postCollectionsVo.setStatus("0");//预售 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (nowDate.after(endTime)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postCollectionsVo.setStatus("3");//已过期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (startTime.before(nowDate) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        endTime.after(nowDate) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        postCollectionsVo.getCollectionsNumber() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postCollectionsVo.setStatus("2");//正在售卖 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (postCollectionsVo.getCollectionsNumber() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postCollectionsVo.setStatus("1");//售尽 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 如果未上架,令藏品状态为未上架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param systemId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void JudgmentStatus(Long systemId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PostCollections postCollections = new PostCollections(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String postCollectionsSystemStatus = postCollectionsSystemMapper.selectPostCollectionsSystemByStatus(systemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //判断藏品套系是否上架,如果没上架,令藏品status全部置为未上架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (null != postCollectionsSystemStatus) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.equals(postCollectionsSystemStatus, "0")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postCollections.setUpdateBy(getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postCollections.setUpdateTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.getTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postCollections.setSystemId(systemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //批量修改status,动态查询藏品列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postCollectionsMapper.updatePostCollectionsStatus(postCollections); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //上架 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |