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

Commit 15728e3e authored by jiangxiulong's avatar jiangxiulong

时间比较优化

详情返回格式变化
parent 573125f5
......@@ -265,6 +265,23 @@ public abstract class DateUtil {
return date1.compareTo(date2);
}
/**
* 比较日期
*/
public static int compareStrDay(String date1, String date2) {
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime date1L = LocalDateTime.parse(date1, df);
LocalDateTime date2L = LocalDateTime.parse(date2, df);
if (date1L.isAfter(date2L)) {// 大于
return 1;
} else if (date1L.isBefore(date2L)) { //小于
return -1;
} else { // 相等
return 0;
}
}
/**
* 间隔天数
*
......
......@@ -12,6 +12,7 @@ import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@ApiModel
@Data
......@@ -86,6 +87,8 @@ public class KylinPerformanceVo {
private Integer isAdvance;
@ApiModelProperty(value = "文案")
private String message;
@ApiModelProperty(value = "巡演数据")
private List<KylinPerformanceVo> roadList;
public void setPerformance(KylinPerformances performance) {
......
......@@ -50,35 +50,35 @@ public class KylinTicketVo {
private String useEnd;
@ApiModelProperty(value = "开票倒计时(分钟数)")
private Integer saleRemindMinute;
@ApiModelProperty(value = "是否学生票")
@ApiModelProperty(value = "是否学生票 0 1")
private Integer isStudent;
@ApiModelProperty(value = "是否电子票")
@ApiModelProperty(value = "是否电子票 0 1")
private Integer isElectronic;
@ApiModelProperty(value = "是否快递票")
@ApiModelProperty(value = "是否快递票 0 1")
private Integer isExpress;
@ApiModelProperty(value = "可验证次数")
private Integer counts;
@ApiModelProperty(value = "状态")
@ApiModelProperty(value = "状态 -2新建 -1删除;0未提交;1审核中;2审核中(自动在售);3审核通过;4审核未通过;6在售;7停售;8售罄;9未开始;10已结束")
private Integer status;
@ApiModelProperty(value = "兑换状态")
@ApiModelProperty(value = "兑换状态 6可兑换 7不可兑换")
private Integer statusExchange;
@ApiModelProperty(value = "是否缺票登记")
@ApiModelProperty(value = "是否缺票登记 0 2")
private Integer isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付")
private Integer expressType;
@ApiModelProperty(value = "是否实名")
@ApiModelProperty(value = "是否实名 0 1")
private Integer isTrueName;
@ApiModelProperty(value = "限购张数")
private Integer limitCount;
@ApiModelProperty(value = "会员限购张数")
private Integer limitCountMember;
@ApiModelProperty(value = "是否会员专属")
@ApiModelProperty(value = "是否会员专属 0 1")
private Integer isExclusive;
@ApiModelProperty(value = "是否会员")
@ApiModelProperty(value = "是否会员 0 1")
private Integer isMember;
@ApiModelProperty(value = "会员购买状态")
@ApiModelProperty(value = "会员购买状态 0不能购买 1可以购买")
private Integer isMemberStatus;
@ApiModelProperty(value = "是否分销")
@ApiModelProperty(value = "是否分销 0否 1是")
private Integer isAgent;
public void setTicket(KylinTickets ticket) {
......
......@@ -125,12 +125,12 @@ public class KylinPerformancesController {
@ApiImplicitParam(type = "query", dataType = "double", name = "latitudeFrom", value = "经纬度"),
@ApiImplicitParam(type = "query", dataType = "double", name = "longitudeFrom", value = "经纬度")
})
public ResponseDto<HashMap<String, Object>> detail(
public ResponseDto<KylinPerformanceVo> detail(
@PathVariable("performancesId") String performancesId,
@RequestParam(defaultValue = "0") double latitudeFrom,
@RequestParam(defaultValue = "0") double longitudeFrom
) {
HashMap<String, Object> result = kylinPerformancesService.detail(performancesId, latitudeFrom, longitudeFrom);
KylinPerformanceVo result = kylinPerformancesService.detail(performancesId, latitudeFrom, longitudeFrom);
if (result != null) {
return ResponseDto.success(result);
} else {
......
......@@ -185,8 +185,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return recommendList;
}
public HashMap<String, Object> detail(String performancesId, double latitudeFrom, double longitudeFrom) {
HashMap<String, Object> info = new HashMap<>();
public KylinPerformanceVo detail(String performancesId, double latitudeFrom, double longitudeFrom) {
KylinPerformanceVo performancesInfo = (KylinPerformanceVo) redisUtil.hget(KylinRedisConst.PERFORMANCES, performancesId);
String roadShowId = "";
......@@ -220,21 +219,15 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
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);
String nowTime = DateUtil.getNowTime();
if (sellTimeL.isAfter(nowTimeStrL)) {// 未开始
if (1 == DateUtil.compareStrDay(sellTime, nowTime)) {// 未开始
performancesInfo.setAppStatus(9);
} else { // 购买
performancesInfo.setAppStatus(6);
}
if (stopSellTimeL.isBefore(nowTimeStrL)) { // 已结束
performancesInfo.setAppStatus(10);
if (1 == DateUtil.compareStrDay(stopSellTime, nowTime)) {// 已结束
performancesInfo.setAppStatus(9);
} else { // 购买
performancesInfo.setAppStatus(6);
}
......@@ -251,15 +244,11 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
}
}
info.put("performancesInfo", performancesInfo);
info.put("roadList", roadList);
return info;
performancesInfo.setRoadList(roadList);
return performancesInfo;
}
public List<KylinTicketTimesVo> ticketTimesPartner(String performancesId, Integer isAgent) {
HashMap<String, Object> info = new HashMap<>();
List<KylinTicketTimesVo> ticketTimesList = mongoTemplate.find(
Query.query(Criteria.where("performanceId").is(performancesId)),
KylinTicketTimesVo.class,
......@@ -279,22 +268,16 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
for (KylinTicketVo ticket : ticketList) {
// 处理状态 购买 未开始 结束可更改 下架 售馨不可更改
if (ticket.getStatus() == 6 || ticket.getStatus() == 9 || ticket.getStatus() == 10) {
String timeEnd = ticket.getTimeEnd();
String timeStart = ticket.getTimeStart();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime timeEndL = LocalDateTime.parse(timeEnd, df);
LocalDateTime timeStartL = LocalDateTime.parse(timeStart, df);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime nowTimeStrL = LocalDateTime.parse(nowTimeStr, df);
String timeEnd = ticket.getTimeEnd();
String nowTime = DateUtil.getNowTime();
if (timeStartL.isAfter(nowTimeStrL)) {// 未开始
if (1 == DateUtil.compareStrDay(timeStart, nowTime)) {// 未开始
ticket.setStatus(9);
} else { // 购买
ticket.setStatus(6);
}
if (timeEndL.isBefore(nowTimeStrL)) { // 已结束
if (-1 == DateUtil.compareStrDay(timeEnd, nowTime)) { // 已结束
ticket.setStatus(10);
} else { // 购买
ticket.setStatus(6);
......@@ -304,16 +287,12 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
Integer isMemberStatus = 0;
if (1 == ticket.getIsMember()) { // 有会员
String memberTimeStart = ticket.getMemberTimeStart();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime memberTimeStartL = LocalDateTime.parse(memberTimeStart, df);
String nowTime = DateUtil.getNowTime();
LocalDateTime nowTimeTicket = LocalDateTime.now();
String nowTimeTicketStr = nowTimeTicket.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime nowTimeTicketStrL = LocalDateTime.parse(nowTimeTicketStr, df);
if (memberTimeStartL.isBefore(nowTimeTicketStrL)) { // 可以购买
isMemberStatus = 1;
} else { // 还没到会员购买时间
if (1 == DateUtil.compareStrDay(memberTimeStart, nowTime)) { // 还没到会员购买时间
isMemberStatus = 0;
} else { // 可以购买
isMemberStatus = 1;
}
} else {
isMemberStatus = 0;
......
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