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

Commit 90228145 authored by jiangxiulong's avatar jiangxiulong

本地演出列表完善

parent 68aeb42f
...@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -37,53 +38,62 @@ public class KylinPerformancesController { ...@@ -37,53 +38,62 @@ public class KylinPerformancesController {
@GetMapping("localList") @GetMapping("localList")
@ApiOperation("本地演出列表") @ApiOperation("本地演出列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "sellTime", value = "开票时间"), @ApiImplicitParam(type = "query", dataType = "String", name = "sellTime", value = "开票时间 2021-01-01"),
@ApiImplicitParam(type = "form", dataType = "String", name = "title", value = "演出名称"), @ApiImplicitParam(type = "query", dataType = "Integer", name = "days", value = "时间范围 几天 今天1 三天3。。。"),
@ApiImplicitParam(type = "form", dataType = "String", name = "cityId", value = "省份id"), @ApiImplicitParam(type = "query", dataType = "String", name = "title", value = "演出名称"),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "type", value = "演出类型"), @ApiImplicitParam(type = "query", dataType = "String", name = "cityName", value = "城市名称"),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "page", value = "页码"), @ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧"),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "size", value = "每页数量"),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "sortType", value = "1时间正序 2时间倒序"), @ApiImplicitParam(type = "query", dataType = "Integer", name = "isDiscount", value = "是否会员优惠 0 1"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "isAdvance", value = "是否优先 0 1"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "isExclusive", value = "是否会员专属 0 1"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "page", value = "页码"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "size", value = "每页数量"),
@ApiImplicitParam(type = "query", dataType = "String", name = "orderBy", value = "排序字段 时间sellTime"),
@ApiImplicitParam(type = "query", dataType = "String", name = "sort", value = "排序方式[DESC ASC]"),
}) })
public ResponseDto<HashMap<String, Object>> localList( public ResponseDto<HashMap<String, Object>> localList(
@RequestParam String sellTime, //开票时间 @RequestParam(defaultValue = "") String sellTime,
@RequestParam String title, //演出名称 @RequestParam(defaultValue = "") Integer days,
@RequestParam String cityId, //省份id @RequestParam(defaultValue = "") String title,
@RequestParam Integer type, //演出类型 @RequestParam(defaultValue = "") String cityName,
@RequestParam Integer page, @RequestParam(defaultValue = "") Integer type,
@RequestParam Integer size,
@RequestParam(defaultValue = "") Integer isDiscount,
@RequestParam(defaultValue = "") Integer isAdvance,
@RequestParam(defaultValue = "") Integer isExclusive,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size,
// 排序 // 排序
@RequestParam Integer sortType // 1时间正序 2时间倒序 @RequestParam(defaultValue = "") String orderBy,
@RequestParam(defaultValue = "") String sort
) { ) {
HashMap<String, Object> result = kylinPerformancesService.localList(sellTime, title, cityId, type, page, size, sortType); HashMap<String, Object> result = kylinPerformancesService.localList(
if (result.size() > 0) { sellTime, days, title, cityName, type,
return ResponseDto.success(result); isDiscount, isAdvance, isExclusive,
} else { page, size,
return ResponseDto.failure("获取本地演出列表失败"); orderBy, sort
} );
}
@GetMapping("recommendList")
@ApiOperation("推荐演出列表")
public ResponseDto<List<PerformanceVo>> recommendList() {
List<PerformanceVo> result = kylinPerformancesService.recommendList();
if (result.size() > 0) {
return ResponseDto.success(result); return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出列表失败");
}
} }
@GetMapping("noticeList") @GetMapping("noticeRecommendList")
@ApiOperation("演出预告列表") @ApiOperation("推荐演出/演出预告 列表")
public ResponseDto<List<PerformanceVo>> noticeList() { @ApiImplicitParams({
List<PerformanceVo> result = kylinPerformancesService.noticeList(); @ApiImplicitParam(type = "query", dataType = "Integer", name = "listType", value = "1推荐 2预告", required = true),
if (result.size() > 0) { })
public ResponseDto<List<PerformanceVo>> noticeRecommendList(
@RequestParam Integer listType
) {
List<PerformanceVo> result = new ArrayList();
result = kylinPerformancesService.noticeRecommendList(listType);
return ResponseDto.success(result); return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出列表失败");
}
} }
@GetMapping("detail") @GetMapping("detail")
......
...@@ -36,24 +36,28 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -36,24 +36,28 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
public HashMap<String, Object> localList(String sellTime, String title, String cityId, Integer type, Integer page, Integer size, Integer sortType) { public HashMap<String, Object> localList(
String sellTime, Integer days, String title, String cityName, Integer type,
Integer isDiscount, Integer isAdvance, Integer isExclusive,
Integer page, Integer size,
String orderBy, String sort
) {
HashMap<String,Object> info = new HashMap<>(); HashMap<String,Object> info = new HashMap<>();
// 排序 分页 // 排序 分页
Sort sortName = null; // 默认开票越早的在上面 Sort sortName = null; // 默认开票越早的在上面
if (sortType != null) { if (sort.equals("DESC")) {
switch (sortType) { if (!orderBy.isEmpty()) {
case 1: sortName = Sort.by(Sort.Direction.DESC, orderBy);
sortName = Sort.by(Sort.Direction.ASC, "sellTime");
break;
case 2:
sortName = Sort.by(Sort.Direction.DESC, "sellTime");
break;
default:
sortName = Sort.by(Sort.Direction.ASC, "sellTime");
break;
} }
} else if(sort.equals("ASC")){
if (!orderBy.isEmpty()) {
sortName = Sort.by(Sort.Direction.ASC, orderBy);
}
} else {
sortName = Sort.by(Sort.Direction.ASC, "sellTime");
} }
Pageable pageable = PageRequest.of(page - 1, size, sortName); Pageable pageable = PageRequest.of(page - 1, size, sortName);
//条件 //条件
...@@ -62,18 +66,31 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -62,18 +66,31 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
if (!title.isEmpty()) { if (!title.isEmpty()) {
queryObject.put("title", Pattern.compile(title, Pattern.CASE_INSENSITIVE)); queryObject.put("title", Pattern.compile(title, Pattern.CASE_INSENSITIVE));
} }
if (!cityId.isEmpty()) {
queryObject.put("cityId", cityId);
}
if (type != null) { if (type != null) {
queryObject.put("type", type); queryObject.put("type", type);
} }
if (isExclusive != null) {
queryObject.put("isExclusive", isExclusive);
}
if (isDiscount != null) {
queryObject.put("isDiscount", isDiscount);
}
if (isAdvance != null) {
queryObject.put("isAdvance", isAdvance);
}
Query query = new BasicQuery(queryObject); Query query = new BasicQuery(queryObject);
if (!sellTime.isEmpty()) { if (!sellTime.isEmpty()) {
String sellTimeEnd = sellTime + " 23:59:59"; String sellTimeEnd = sellTime + " 23:59:59";
query.addCriteria(Criteria.where("sellTime").gte(sellTime).lte(sellTimeEnd)); query.addCriteria(Criteria.where("sellTime").gte(sellTime).lte(sellTimeEnd));
} }
if (days != null) {
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDateTime OtherTime = nowTime.plusDays(days);
String OtherTimeStr = OtherTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
query.addCriteria(Criteria.where("sellTime").gte(nowTimeStr).lte(OtherTimeStr));
}
// 固定查询条件 // 固定查询条件
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
...@@ -100,28 +117,21 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -100,28 +117,21 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return info; return info;
} }
public List<PerformanceVo> recommendList() { public List<PerformanceVo> noticeRecommendList(Integer listType) {
// 固定查询条件 // 固定条件
Query query = new Query();
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Query query = Query.query( query.addCriteria(Criteria.where("stopSellTime").gte(nowTimeStr));
Criteria.where("stopSellTime").gte(nowTimeStr).and("statusSell").is(1) query.addCriteria(Criteria.where("statusSell").is(1));
); // 推荐
if (listType.equals(1)) {
List<PerformanceVo> list = mongoTemplate.find(query, PerformanceVo.class, PerformanceVo.class.getSimpleName()); query.addCriteria(Criteria.where("isRecommend").is(1));
} else if (listType.equals(2)) {
return list;
}
public List<PerformanceVo> noticeList() {
// 固定查询条件
LocalDateTime nowTime = LocalDateTime.now();
LocalDateTime threeDaysLater = nowTime.plusDays(3); LocalDateTime threeDaysLater = nowTime.plusDays(3);
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String threeDaysLaterStr = threeDaysLater.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String threeDaysLaterStr = threeDaysLater.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
Query query = Query.query( query.addCriteria(Criteria.where("sellTime").gte(nowTimeStr).lt(threeDaysLaterStr).and("statusSell").is(1));
Criteria.where("sellTime").gte(nowTimeStr).lt(threeDaysLaterStr).and("statusSell").is(1) }
);
List<PerformanceVo> list = mongoTemplate.find(query, PerformanceVo.class, PerformanceVo.class.getSimpleName()); List<PerformanceVo> list = mongoTemplate.find(query, PerformanceVo.class, PerformanceVo.class.getSimpleName());
......
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