记得上下班打卡 | git大法好,push需谨慎

Commit 223bbcc4 authored by jiangxiulong's avatar jiangxiulong

演出预告 会员专属

parent 0ba60386
...@@ -5,8 +5,10 @@ public class KylinRedisConst { ...@@ -5,8 +5,10 @@ public class KylinRedisConst {
public static final String PERFORMANCES = "kylin:performances:id:"; public static final String PERFORMANCES = "kylin:performances:id:";
public static final String PERFORMANCES_LIST_CITYNAME = "kylin:performances:cityName:"; public static final String PERFORMANCES_LIST_CITYNAME = "kylin:performances:cityName:";
public static final String PERFORMANCES_LIST_ALL = "kylin:performances:cityName*"; public static final String PERFORMANCES_LIST_ALL = "kylin:performances:cityName*";
public static final String PERFORMANCES_LIST_RECOMMEND = "kylin:performances:recommend";
public static final String PERFORMANCES_LIST_SYSTEM_RECOMMEND = "kylin:performances:systemRecommend"; public static final String PERFORMANCES_LIST_SYSTEM_RECOMMEND = "kylin:performances:systemRecommend";
public static final String PERFORMANCES_LIST_NOTICE = "kylin:performances:notice";
public static final String PERFORMANCES_LIST_RECOMMEND = "kylin:performances:recommend";
public static final String PERFORMANCES_LIST_EXCLUSIVE = "kylin:performances:exclusive";
public static final String PERFORMANCES_ROADLIST = "kylin:performances:roadShowId:"; public static final String PERFORMANCES_ROADLIST = "kylin:performances:roadShowId:";
public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend:id:"; public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend:id:";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:id:"; public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:id:";
......
...@@ -113,35 +113,11 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -113,35 +113,11 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
} }
public HashMap<String, Object> noticeList() { public HashMap<String, Object> noticeList() {
// 所有城市演出 /*if (-1 != DateUtil.compareStrDay(timeStart, toDayEndTimeStr) && -1 == DateUtil.compareStrDay(timeStart, threeDaysLaterStr)) {
List<KylinPerformanceVo> performancesList = dataUtils.getPerformancesListAll(); threeDaysList.add(info);
// 条件整理 }*/
List<KylinPerformanceVo> toDayList = new ArrayList<>(); HashMap<String, Object> performancesListNotice = dataUtils.getPerformancesListNotice();
List<KylinPerformanceVo> threeDaysList = new ArrayList<>(); return performancesListNotice;
// 今天的
HashMap toDayTime = DateUtil.oneDayStartEnd();
String nowTimeTStr = (String) toDayTime.get("startStr");
String toDayEndTimeStr = (String) toDayTime.get("endStr");
// 三天的
Calendar cal = Calendar.getInstance();
cal.setTime((Date) toDayTime.get("end"));
Date beforeDayEnd = DateUtil.getBeforeDayEnd(cal, 3);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String threeDaysLaterStr = sdf.format(beforeDayEnd);
for (KylinPerformanceVo info : performancesList) {
String timeStart = info.getSellTime();
if (-1 != DateUtil.compareStrDay(timeStart, nowTimeTStr) && -1 == DateUtil.compareStrDay(timeStart, toDayEndTimeStr)) {
toDayList.add(info);
}
if (-1 != DateUtil.compareStrDay(timeStart, toDayEndTimeStr) && -1 == DateUtil.compareStrDay(timeStart, threeDaysLaterStr)) {
threeDaysList.add(info);
}
}
HashMap<String, Object> info = new HashMap<>();
info.put("toDayList", toDayList);
info.put("threeDaysList", threeDaysList);
return info;
} }
public List<KylinPerformanceVo> recommendList() { public List<KylinPerformanceVo> recommendList() {
...@@ -150,15 +126,8 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -150,15 +126,8 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
} }
public List<KylinPerformanceVo> exclusiveList() { public List<KylinPerformanceVo> exclusiveList() {
// 所有城市演出 List<KylinPerformanceVo> performancesListExclusive = dataUtils.getPerformancesListIsExclusive();
List<KylinPerformanceVo> performancesList = dataUtils.getPerformancesListAll(); return performancesListExclusive;
List<KylinPerformanceVo> performancesListNew = new ArrayList<>();
for (KylinPerformanceVo info : performancesList) {
if (1 == info.getIsExclusive()) {
performancesListNew.add(info);
}
}
return performancesListNew;
} }
public KylinPerformanceVo detail(String performancesId, double latitudeFrom, double longitudeFrom) { public KylinPerformanceVo detail(String performancesId, double latitudeFrom, double longitudeFrom) {
......
...@@ -22,7 +22,9 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -22,7 +22,9 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -515,6 +517,7 @@ public class DataUtils { ...@@ -515,6 +517,7 @@ public class DataUtils {
query.fields().exclude("details"); query.fields().exclude("details");
query.fields().exclude("noticeImage"); query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList"); query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
List<KylinPerformanceVo> performancesList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); List<KylinPerformanceVo> performancesList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, performancesList); redisUtil.set(redisKey, performancesList);
} }
...@@ -530,6 +533,84 @@ public class DataUtils { ...@@ -530,6 +533,84 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER_ENTITIES.concat(cityName)); redisUtil.del(KylinRedisConst.ORDER_ENTITIES.concat(cityName));
} }
/**
* 获取系统推荐演出列表redis
*/
public List<KylinPerformanceVo> getPerformancesListIsSystemRecommend() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = new Query();
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
// 排序
Sort sortName = Sort.by(Sort.Direction.ASC, "timeStart");
Pageable pageable = PageRequest.of(0, 8, sortName);
query.with(pageable);
// 不要查询的字段
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐
List<KylinPerformanceVo> systemRecommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, systemRecommendList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 获取演出预告列表redis
*/
public HashMap<String, Object> getPerformancesListNotice() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_NOTICE;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = new Query();
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
// 今天的
HashMap toDayTime = DateUtil.oneDayStartEnd();
String nowTimeTStr = (String) toDayTime.get("startStr");
String toDayEndTimeStr = (String) toDayTime.get("endStr");
query.addCriteria(Criteria.where("timeStart").gte(nowTimeTStr).lt(toDayEndTimeStr));
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
List<KylinPerformanceVo> toDayList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
// 固定条件
Query queryT = new Query();
LocalDateTime nowTimeT = LocalDateTime.now();
String nowTimeStrT = nowTimeT.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
queryT.addCriteria(Criteria.where("timeEnd").gte(nowTimeStrT));
// 三天的
Calendar cal = Calendar.getInstance();
cal.setTime((Date) toDayTime.get("end"));
Date beforeDayEnd = DateUtil.getBeforeDayEnd(cal, 3);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String threeDaysLaterStr = sdf.format(beforeDayEnd);
queryT.addCriteria(Criteria.where("timeStart").gte(toDayEndTimeStr).lt(threeDaysLaterStr));
queryT.fields().exclude("details");
queryT.fields().exclude("noticeImage");
queryT.fields().exclude("ticketTimeList");
queryT.fields().exclude("describeElectronic");
List<KylinPerformanceVo> threeDaysList = mongoTemplate.find(queryT, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
HashMap<String, Object> info = new HashMap<>();
info.put("toDayList", toDayList);
info.put("threeDaysList", threeDaysList);
redisUtil.set(redisKey, info);
}
return (HashMap<String, Object>) redisUtil.get(redisKey);
}
/** /**
* 获取推荐演出列表redis * 获取推荐演出列表redis
*/ */
...@@ -548,6 +629,7 @@ public class DataUtils { ...@@ -548,6 +629,7 @@ public class DataUtils {
query.fields().exclude("details"); query.fields().exclude("details");
query.fields().exclude("noticeImage"); query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList"); query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐 // 推荐
query.addCriteria(Criteria.where("isRecommend").is(1)); query.addCriteria(Criteria.where("isRecommend").is(1));
List<KylinPerformanceVo> recommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); List<KylinPerformanceVo> recommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
...@@ -557,27 +639,25 @@ public class DataUtils { ...@@ -557,27 +639,25 @@ public class DataUtils {
} }
/** /**
* 获取系统推荐演出列表redis * 获取会员专属演出列表redis
*/ */
public List<KylinPerformanceVo> getPerformancesListIsSystemRecommend() { public List<KylinPerformanceVo> getPerformancesListIsExclusive() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND; String redisKey = KylinRedisConst.PERFORMANCES_LIST_EXCLUSIVE;
if (!redisUtil.hasKey(redisKey)) { if (!redisUtil.hasKey(redisKey)) {
// 固定条件 // 固定条件
Query query = new Query(); Query query = new Query();
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime); String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr)); query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
// 排序
Sort sortName = Sort.by(Sort.Direction.ASC, "timeStart");
Pageable pageable = PageRequest.of(0, 8, sortName);
query.with(pageable);
// 不要查询的字段 // 不要查询的字段
query.fields().exclude("details"); query.fields().exclude("details");
query.fields().exclude("noticeImage"); query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList"); query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐 // 推荐
List<KylinPerformanceVo> systemRecommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); query.addCriteria(Criteria.where("isExclusive").is(1));
redisUtil.set(redisKey, systemRecommendList); List<KylinPerformanceVo> exclusiveList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, exclusiveList);
} }
return (List<KylinPerformanceVo>) redisUtil.get(redisKey); return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment