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

Commit 1500537c authored by jiangxiulong's avatar jiangxiulong

演出详情状态 票种接口

parent d568fdcb
......@@ -4,7 +4,6 @@ public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:info";
public static final String PERFORMANCES_ROADSHOW = "kylin:performances:roadshow";
public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:";
public static final String SURPLUS_GENERAL = "surplusGeneral";
......
......@@ -26,6 +26,8 @@ public class TicketTimesVo {
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
@ApiModelProperty(value = "票种")
private List<TicketVo> ticketList;
// @ApiModelProperty(value = "票种信息集合")
// private List<TicketVo> ticketVoList;
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.service.impl.KylinPerformancesServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -99,7 +100,18 @@ public class KylinPerformancesController {
if (result.size() > 0) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出列表失败");
return ResponseDto.failure("获取演出详情失败");
}
}
@GetMapping("partner/{performancesId}")
@ApiOperation("场次票种")
public ResponseDto<List<TicketTimesVo>> ticketTimesPartner(@PathVariable("performancesId") String performancesId) {
List<TicketTimesVo> result = kylinPerformancesService.ticketTimesPartner(performancesId);
if (result.size() > 0) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出场次票种失败");
}
}
......
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import com.liquidnet.service.kylin.service.IKylinPerformancesService;
......@@ -21,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Pattern;
......@@ -72,6 +77,9 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
if (!title.isEmpty()) {
queryObject.put("title", Pattern.compile(title, Pattern.CASE_INSENSITIVE));
}
if (!cityName.isEmpty()) {
queryObject.put("cityName", Pattern.compile(cityName, Pattern.CASE_INSENSITIVE));
}
if (type > 0) {
queryObject.put("type", type);
}
......@@ -102,7 +110,6 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
query.addCriteria(Criteria.where("statusSell").is(1));
// 要查询的字段
/*Document fieldsObject = new Document();
......@@ -111,6 +118,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
// 查询总数
long count = mongoTemplate.count(query, PerformanceVo.class, PerformanceVo.class.getSimpleName());
query.getQueryObject();
query.with(pageable);
......@@ -119,6 +127,8 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
// 组合数据
info.put("total", count);
info.put("list", list);
info.put("is_native", 1);
info.put("recommend", 0);
return info;
}
......@@ -129,7 +139,6 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
query.addCriteria(Criteria.where("statusSell").is(1));
// 今天的
LocalDateTime toDayTime = LocalDateTime.now();
......@@ -144,7 +153,6 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
LocalDateTime nowTimeT = LocalDateTime.now();
String nowTimeStrT = nowTimeT.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
queryT.addCriteria(Criteria.where("timeEnd").gte(nowTimeStrT));
queryT.addCriteria(Criteria.where("statusSell").is(1));
LocalDateTime threeDaysLater = toDayTime.plusDays(3);
String threeDaysLaterStr = threeDaysLater.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
......@@ -163,7 +171,6 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
query.addCriteria(Criteria.where("statusSell").is(1));
// 推荐
query.addCriteria(Criteria.where("isRecommend").is(1));
List<PerformanceVo> recommendList = mongoTemplate.find(query, PerformanceVo.class, PerformanceVo.class.getSimpleName());
......@@ -189,20 +196,39 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
roadShowId = performancesInfo.getRoadShowId();
}
List roadList = new ArrayList();
List<PerformanceVo> roadList = new ArrayList();
if (Integer.parseInt(roadShowId) > 0) {
roadList = redisUtil.lGet(KylinRedisConst.PERFORMANCES_ROADSHOW.concat(roadShowId), 0, -1);
if (roadList.isEmpty()) {
roadList = mongoTemplate.find(
Query.query(Criteria.where("roadShowId").is(roadShowId)),
PerformanceVo.class,
PerformanceVo.class.getSimpleName()
);
for(Object pinfo : roadList) {
redisUtil.lSet(KylinRedisConst.PERFORMANCES_ROADSHOW.concat(roadShowId), pinfo);
}
roadList = mongoTemplate.find(
Query.query(Criteria.where("roadShowId").is(roadShowId)),
PerformanceVo.class,
PerformanceVo.class.getSimpleName()
);
}
// 处理状态 购买 未开始 结束可更改 下架 售馨不可更改
if (performancesInfo.getAppStatus() == 6 || performancesInfo.getAppStatus() == 9 || performancesInfo.getAppStatus() == 10) {
String stopSellTime = performancesInfo.getStopSellTime();
String sellTime = performancesInfo.getSellTime();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime stopSellTimeL = LocalDateTime.parse(stopSellTime, df);
LocalDateTime sellTimeL = LocalDateTime.parse(sellTime, df);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime nowTimeStrL = LocalDateTime.parse(nowTimeStr, df);
if (sellTimeL.isAfter(nowTimeStrL)) {// 未开始
performancesInfo.setAppStatus(9);
} else { // 购买
performancesInfo.setAppStatus(6);
}
if (stopSellTimeL.isAfter(nowTimeStrL)) { // 已结束
performancesInfo.setAppStatus(10);
} else { // 购买
performancesInfo.setAppStatus(6);
}
}
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
info.put("performancesInfo", performancesInfo);
info.put("roadList", roadList);
......@@ -210,4 +236,24 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return info;
}
public List<TicketTimesVo> ticketTimesPartner(String performancesId) {
HashMap<String, Object> info = new HashMap<>();
List<TicketTimesVo> ticketTimesList = mongoTemplate.find(
Query.query(Criteria.where("performanceId").is(performancesId)),
TicketTimesVo.class,
TicketTimesVo.class.getSimpleName()
);
for (TicketTimesVo partner : ticketTimesList) {
List<TicketVo> ticketList = mongoTemplate.find(
Query.query(Criteria.where("timeId").is(partner.getTimeId())),
TicketVo.class,
TicketVo.class.getSimpleName()
);
partner.setTicketList(ticketList);
}
return ticketTimesList;
}
}
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