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

Commit 604ebc72 authored by zhoujianping's avatar zhoujianping

1.预约提醒重构

parent f5ad5b66
...@@ -91,7 +91,7 @@ public class KylinRedisConst { ...@@ -91,7 +91,7 @@ public class KylinRedisConst {
public static final String REDIS_KEY_KYLIN_PERFORM_SUBSCRIBE = "kylin:performSubscribe:uid:"; public static final String REDIS_KEY_KYLIN_PERFORM_SUBSCRIBE = "kylin:performSubscribe:uid:";
public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE = "kylin:performance:subscribe:"; //演出预约 public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE = "kylin:performance:subscribe:"; //演出预约
public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_TICKETS = "kylin:performance:subscribe:tickets";//演出票种预约
public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_LIST = "kylin:performance:subscribe:list"; //预约列表 public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_LIST = "kylin:performance:subscribe:list"; //预约列表
public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_READ = "kylin:performance:subscribe:read"; //预约列表是否已读 public static final String REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_READ = "kylin:performance:subscribe:read"; //预约列表是否已读
......
...@@ -6,10 +6,12 @@ import io.swagger.annotations.ApiModel; ...@@ -6,10 +6,12 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.scheduling.support.SimpleTriggerContext;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* @author zjp * @author zjp
...@@ -45,4 +47,9 @@ public class KylinPerformanceSubscribeParam implements Serializable { ...@@ -45,4 +47,9 @@ public class KylinPerformanceSubscribeParam implements Serializable {
@ApiModelProperty(position = 10,value = "演出图片") @ApiModelProperty(position = 10,value = "演出图片")
@NotBlank(message = "演出图片不能为空") @NotBlank(message = "演出图片不能为空")
private String imgPoster; private String imgPoster;
@ApiModelProperty(position = 11,value = "会员提前分钟")
private Integer advanceMinuteMember;
@ApiModelProperty(position = 12,value = "本场场次全部的票种id")
private List<String> ticketsIds;
} }
...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -49,5 +50,7 @@ public class KylinPerformanceSubscribeUpushVo implements Serializable, Cloneable ...@@ -49,5 +50,7 @@ public class KylinPerformanceSubscribeUpushVo implements Serializable, Cloneable
@ApiModelProperty(value = "场次id") @ApiModelProperty(value = "场次id")
private String ticketTimesId; private String ticketTimesId;
@ApiModelProperty(position = 5,value = "票种id")
private String ticketsId;
} }
...@@ -50,7 +50,15 @@ public interface IKylinPerformancesService { ...@@ -50,7 +50,15 @@ public interface IKylinPerformancesService {
* @return: com.liquidnet.service.base.ResponseDto<java.lang.Integer> * @return: com.liquidnet.service.base.ResponseDto<java.lang.Integer>
* @date 2024/3/6 14:45 * @date 2024/3/6 14:45
*/ */
ResponseDto<Integer> performanceIsSubscribe(String performancesId,String ticketTimesId); ResponseDto<Integer> performanceIsSubscribe(String performancesId,String ticketTimesId,String ticketsId);
void deleteIsSubscribe(String performancesId,String ticketTimesId);
/*
* @description:删除预约演出票种
* @author: zjp
* @date: 2024/5/15 14:10
* @param:
* @return:
**/
void deleteIsSubscribe(String performancesId,String ticketTimesId,String ticketsId);
} }
...@@ -34,24 +34,28 @@ public class KylinPerformanceSubscribeController { ...@@ -34,24 +34,28 @@ public class KylinPerformanceSubscribeController {
return iKylinPerformancesService.performanceSubscribe(request,param); return iKylinPerformancesService.performanceSubscribe(request,param);
} }
@GetMapping("") @GetMapping("")
@ApiOperation("是否预约演出") @ApiOperation("是否预约演出票种")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出id", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "ticketTimesId", value = "场次id", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "ticketTimesId", value = "场次id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "ticketsId", value = "票种id", required = true),
}) })
public ResponseDto<Integer> isSubscribe(@RequestParam("performancesId") String performancesId, public ResponseDto<Integer> isSubscribe(@RequestParam("performancesId") String performancesId,
@RequestParam("ticketTimesId") String ticketTimesId) { @RequestParam("ticketTimesId") String ticketTimesId,
return iKylinPerformancesService.performanceIsSubscribe(performancesId, ticketTimesId); @RequestParam("ticketsId") String ticketsId) {
return iKylinPerformancesService.performanceIsSubscribe(performancesId, ticketTimesId,ticketsId);
} }
@DeleteMapping("") @DeleteMapping("")
@ApiOperation("删除演出预约") @ApiOperation("删除预约演出票种")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出id", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "ticketTimesId", value = "场次id", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "ticketTimesId", value = "场次id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "ticketsId", value = "票种id", required = true),
}) })
public ResponseDto deleteIsSubscribe(@RequestParam("performancesId") String performancesId, public ResponseDto deleteIsSubscribe(@RequestParam("performancesId") String performancesId,
@RequestParam("ticketTimesId") String ticketTimesId) { @RequestParam("ticketTimesId") String ticketTimesId,
iKylinPerformancesService.deleteIsSubscribe(performancesId, ticketTimesId); @RequestParam("ticketsId") String ticketsId) {
iKylinPerformancesService.deleteIsSubscribe(performancesId, ticketTimesId,ticketsId);
return ResponseDto.success(); return ResponseDto.success();
} }
......
...@@ -56,6 +56,7 @@ import org.springframework.util.MultiValueMap; ...@@ -56,6 +56,7 @@ import org.springframework.util.MultiValueMap;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
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;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -304,17 +305,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -304,17 +305,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
log.info(UserPathDto.setData("演出详情", "performancesId=" + performancesId + " latitudeFrom=" + latitudeFrom + " longitudeFrom=" + longitudeFrom, performancesInfo)); log.info(UserPathDto.setData("演出详情", "performancesId=" + performancesId + " latitudeFrom=" + latitudeFrom + " longitudeFrom=" + longitudeFrom, performancesInfo));
//判断当前用户是否预约演出 //判断当前用户是否预约演出
if(!StringUtils.isEmpty(uid)){ if (!StringUtils.isEmpty(uid)) {
List<KylinTicketTimesVo> ticketTimeList = performancesInfo.getTicketTimeList(); performancesInfo.setIsSubscribe(dataUtils.getPerformanceSubscribe(uid, performancesInfo.getPerformancesId()));
if(!CollectionUtils.isEmpty(ticketTimeList)){
for (KylinTicketTimesVo kylinTicketTimesVo : ticketTimeList) {
//判断当前用户是否预约演出
Integer performanceSubscribe = dataUtils.getPerformanceSubscribe(uid, performancesInfo.getPerformancesId(), kylinTicketTimesVo.getTicketTimesId());
if(performanceSubscribe==1){
performancesInfo.setIsSubscribe(1);
}
}
}
} }
return performancesInfo; return performancesInfo;
} }
...@@ -656,7 +648,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -656,7 +648,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
String sellTime = info.getSellTime(); String sellTime = info.getSellTime();
if (1 == DateUtil.compareStrDay(sellTime, nowTimeStr)) {// 未开始 if (1 == DateUtil.compareStrDay(sellTime, nowTimeStr)) {// 未开始
info.setAppStatus(9); info.setAppStatus(9);
int isMemberStatus = getPerformanceIsMemberStatus(info); //老判断 不根据用户会员做判断
//int isMemberStatus = getPerformanceIsMemberStatus(info);
//新判断 根据用户会员做判断
int isMemberStatus = getPerformanceIsMemberStatusByIsMember(info,CurrentUtil.getCurrentUid());
if (1 == isMemberStatus) { if (1 == isMemberStatus) {
info.setAppStatus(6); info.setAppStatus(6);
} }
...@@ -758,7 +753,32 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -758,7 +753,32 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
return isMemberStatus; return isMemberStatus;
} }
// 会员状态
public Integer getPerformanceIsMemberStatusByIsMember(KylinPerformanceVo info,String uid) {
Integer isMemberStatus = 0;
if (null != info) {
if (1 == info.getIsMember()) { // 有会员
//会员开售时间
String memberTimeStart = info.getSellMemberTime();
if(StringUtils.isNotEmpty(uid)){
Integer memberByUser = dataUtils.isMemberByUser(uid);
if(memberByUser==0){
//普通开售时间
memberTimeStart=info.getSellTime();
}
}
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(memberTimeStart, nowTime)) { // 还没到会员购买时间
isMemberStatus = 0;
} else { // 可以购买
isMemberStatus = 1;
}
} else {
isMemberStatus = 0;
}
}
return isMemberStatus;
}
/** /**
* 获取我的已购票演出列表 * 获取我的已购票演出列表
* *
...@@ -852,14 +872,36 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -852,14 +872,36 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
String source = request.getHeader("source"); String source = request.getHeader("source");
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
// 避免重复预约 // 避免重复预约
Integer performanceSubscribe = dataUtils.getPerformanceSubscribe(uid, param.getPerformancesId(), param.getTicketTimesId()); Integer performanceSubscribe = dataUtils.getPerformanceTicketsSubscribe(uid, param.getPerformancesId(), param.getTicketTimesId(),param.getTicketsId());
if (performanceSubscribe != 1) { if (performanceSubscribe != 1) {
//先删除其他票种预约信息
List<String> ticketsIds = param.getTicketsIds();
if(!CollectionUtils.isEmpty(ticketsIds)){
ticketsIds.forEach(iter->{
dataUtils.deleteIsSubscribe(uid,param.getPerformancesId(), param.getTicketTimesId(),iter);
});
}
//删除预约记录
queueUtils.sendMsgByRedis(
MQConst.KylinQueue.SQL_PERFORMANCE_SUBSCRIBE.getKey(),
SqlMapping.get(
"kylin_performance_subscribe.delete",
new Object[]{
param.getPerformancesId(), param.getTicketTimesId()
}
));
// 计算过期时间 演出结束时间-当前时间 // 计算过期时间 演出结束时间-当前时间
long expirationTime = DateUtil.intervalSeconds(DateUtil.parse(DateUtil.format(param.getTimeEnd(), DateUtil.Formatter.yyyyMMddHHmmss), DateUtil.DATE_FULL_STR), DateUtil.now()); long expirationTime = DateUtil.intervalSeconds(DateUtil.parse(DateUtil.format(param.getTimeEnd(), DateUtil.Formatter.yyyyMMddHHmmss), DateUtil.DATE_FULL_STR), DateUtil.now());
// 计算通知时间 演出开始时间-10分钟 // 计算通知时间 演出开始时间-10分钟
LocalDateTime timeStart = param.getTimeStart(); LocalDateTime timeStart = param.getTimeStart();
LocalDateTime localDateTime = timeStart.minusMinutes(10); LocalDateTime localDateTime = timeStart.minusMinutes(10);
String pushTime = DateUtil.format(localDateTime, DateUtil.Formatter.yyyyMMddHHmmss); String pushTime = DateUtil.format(localDateTime, DateUtil.Formatter.yyyyMMddHHmmss);
//票种预约
dataUtils.setPerformanceTicketsSubscribe(uid, param.getPerformancesId(), param.getTicketTimesId(),param.getTicketsId(),expirationTime);
//本场演出预约
dataUtils.setPerformanceSubscribe(uid, param.getPerformancesId(),expirationTime);
//push推送内容
String title=param.getPerformancesTitle()+DateUtil.format(timeStart, DateUtil.Formatter.yyyyMMddHHmmss)+"即将开票,登登登提前"+param.getAdvanceMinuteMember()+"分钟开抢";
// 记录预约信息 // 记录预约信息
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.KylinQueue.SQL_PERFORMANCE_SUBSCRIBE.getKey(), MQConst.KylinQueue.SQL_PERFORMANCE_SUBSCRIBE.getKey(),
...@@ -867,15 +909,13 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -867,15 +909,13 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
"kylin_performance_subscribe.insert", "kylin_performance_subscribe.insert",
new Object[]{ new Object[]{
param.getPerformancesId(), param.getTicketTimesId(), param.getTicketsId(), uid,KylinTableStatusConst.SubscribeTypeEnum.TYPE1.getKey(),param.getDeviceTokens(), param.getPerformancesId(), param.getTicketTimesId(), param.getTicketsId(), uid,KylinTableStatusConst.SubscribeTypeEnum.TYPE1.getKey(),param.getDeviceTokens(),
source,pushTime,param.getPerformancesTitle(),0 source,pushTime,title,0
} }
)); ));
// 演出预约
dataUtils.setPerformanceSubscribe(uid, param.getPerformancesId(), param.getTicketTimesId(), expirationTime);
//redis 用户开票提醒列表 //redis 用户开票提醒列表
KylinPerformanceSubscribeUpushVo kylinPerformanceSubscribeUpushVo = new KylinPerformanceSubscribeUpushVo(); KylinPerformanceSubscribeUpushVo kylinPerformanceSubscribeUpushVo = new KylinPerformanceSubscribeUpushVo();
kylinPerformanceSubscribeUpushVo.setPushTitle(param.getPerformancesTitle()); kylinPerformanceSubscribeUpushVo.setPushTitle(param.getPerformancesTitle());
kylinPerformanceSubscribeUpushVo.setPushContent(param.getPerformancesTitle()+",10分钟后即将开售,请点击进入详情页购买。"); kylinPerformanceSubscribeUpushVo.setPushContent(title);
kylinPerformanceSubscribeUpushVo.setImg(param.getImgPoster()); kylinPerformanceSubscribeUpushVo.setImg(param.getImgPoster());
kylinPerformanceSubscribeUpushVo.setJumpType(6); kylinPerformanceSubscribeUpushVo.setJumpType(6);
kylinPerformanceSubscribeUpushVo.setJumpValue(param.getPerformancesId()); kylinPerformanceSubscribeUpushVo.setJumpValue(param.getPerformancesId());
...@@ -884,8 +924,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -884,8 +924,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
kylinPerformanceSubscribeUpushVo.setType(KylinTableStatusConst.SubscribeTypeEnum.TYPE1.getKey()); kylinPerformanceSubscribeUpushVo.setType(KylinTableStatusConst.SubscribeTypeEnum.TYPE1.getKey());
kylinPerformanceSubscribeUpushVo.setPerformancesId(param.getPerformancesId()); kylinPerformanceSubscribeUpushVo.setPerformancesId(param.getPerformancesId());
kylinPerformanceSubscribeUpushVo.setTicketTimesId(param.getTicketTimesId()); kylinPerformanceSubscribeUpushVo.setTicketTimesId(param.getTicketTimesId());
kylinPerformanceSubscribeUpushVo.setTicketsId(param.getTicketsId());
//开票提醒最多存20条数据 //开票提醒最多存20条数据
LinkedList<KylinPerformanceSubscribeUpushVo> performanceSubscribeList = dataUtils.getPerformanceSubscribeList(uid); LinkedList<KylinPerformanceSubscribeUpushVo> performanceSubscribeList = dataUtils.getPerformanceSubscribeList(uid);
//删除其他票种的消息提醒
for (Iterator<KylinPerformanceSubscribeUpushVo> it = performanceSubscribeList.iterator(); it.hasNext(); ) {
KylinPerformanceSubscribeUpushVo info = it.next();
if(info.getPerformancesId().equals(param.getPerformancesId()) && info.getTicketTimesId().equals(param.getTicketTimesId())){
//移除
it.remove();
}
}
if(performanceSubscribeList.size()>=20){ if(performanceSubscribeList.size()>=20){
KylinPerformanceSubscribeUpushVo last = performanceSubscribeList.getLast(); KylinPerformanceSubscribeUpushVo last = performanceSubscribeList.getLast();
//删除redis中已读信息 //删除redis中已读信息
...@@ -909,17 +958,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -909,17 +958,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
@Override @Override
public ResponseDto<Integer> performanceIsSubscribe(String performancesId, String ticketTimesId) { public ResponseDto<Integer> performanceIsSubscribe(String performancesId, String ticketTimesId,String ticketsId ) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
Integer performanceSubscribe = dataUtils.getPerformanceSubscribe(uid, performancesId, ticketTimesId); Integer performanceSubscribe = dataUtils.getPerformanceTicketsSubscribe(uid, performancesId, ticketTimesId,ticketsId);
return ResponseDto.success(performanceSubscribe); return ResponseDto.success(performanceSubscribe);
} }
@Override @Override
public void deleteIsSubscribe(String performancesId, String ticketTimesId) { public void deleteIsSubscribe(String performancesId, String ticketTimesId,String ticketsId) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
//删除预约提醒 //删除预约提醒
dataUtils.deleteIsSubscribe(uid,performancesId,ticketTimesId); dataUtils.deleteIsSubscribe(uid,performancesId,ticketTimesId,ticketsId);
//删除已读 //删除已读
dataUtils.deleteIsSubscribeRead(uid,performancesId,ticketTimesId); dataUtils.deleteIsSubscribeRead(uid,performancesId,ticketTimesId);
} }
......
...@@ -3,6 +3,9 @@ package com.liquidnet.service.kylin.utils; ...@@ -3,6 +3,9 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
...@@ -1447,13 +1450,13 @@ public class DataUtils { ...@@ -1447,13 +1450,13 @@ public class DataUtils {
return (List<String>) obj; return (List<String>) obj;
} }
} }
public void setPerformanceSubscribe(String uid,String performancesId,String ticketTimesId,long expirationTime) { public void setPerformanceTicketsSubscribe(String uid,String performancesId,String ticketTimesId,String ticketsId,long expirationTime) {
String redisKey=getPerformanceSubscribeKey(uid,performancesId,ticketTimesId); String redisKey=getPerformanceTicketsSubscribeKey(uid,performancesId,ticketTimesId,ticketsId);
redisUtil.set(redisKey, 1,expirationTime); redisUtil.set(redisKey, 1,expirationTime);
} }
public Integer getPerformanceSubscribe(String uid,String performancesId,String ticketTimesId) { public Integer getPerformanceTicketsSubscribe(String uid,String performancesId,String ticketTimesId,String ticketsId) {
String redisKey=getPerformanceSubscribeKey(uid,performancesId,ticketTimesId); String redisKey=getPerformanceTicketsSubscribeKey(uid,performancesId,ticketTimesId,ticketsId);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return 0; return 0;
...@@ -1461,18 +1464,43 @@ public class DataUtils { ...@@ -1461,18 +1464,43 @@ public class DataUtils {
return (Integer) obj; return (Integer) obj;
} }
} }
public void setPerformanceSubscribe(String uid,String performancesId,long expirationTime) {
String redisKey=getPerformanceSubscribeKey(uid,performancesId);
redisUtil.set(redisKey, 1,expirationTime);
}
public Integer getPerformanceSubscribe(String uid,String performancesId) {
String redisKey=getPerformanceSubscribeKey(uid,performancesId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return 0;
} else {
return (Integer) obj;
}
}
public void deleteIsSubscribe(String uid,String performancesId,String ticketTimesId){ public void deleteIsSubscribe(String uid,String performancesId,String ticketTimesId,String ticketsId){
String redisKey=getPerformanceSubscribeKey(uid,performancesId,ticketTimesId); String redisKey=getPerformanceTicketsSubscribeKey(uid,performancesId,ticketTimesId,ticketsId);
redisUtil.del(redisKey); redisUtil.del(redisKey);
} }
private String getPerformanceSubscribeKey(String uid,String performancesId,String ticketTimesId){ private String getPerformanceTicketsSubscribeKey(String uid,String performancesId,String ticketTimesId,String ticketsId){
String redisKey = KylinRedisConst.REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE String redisKey = KylinRedisConst.REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE_TICKETS
.concat(uid) .concat(uid)
.concat(":") .concat(":")
.concat(performancesId) .concat(performancesId)
.concat(":") .concat(":")
.concat(ticketTimesId); .concat(ticketTimesId)
.concat(":")
.concat(ticketsId);
return redisKey;
}
private String getPerformanceSubscribeKey(String uid,String performancesId){
String redisKey = KylinRedisConst.REDIS_KEY_KYLIN_PERFORMANCE_SUBSCRIBE
.concat(uid)
.concat(":")
.concat(performancesId);
return redisKey; return redisKey;
} }
public void setPerformanceSubscribeList(String uid, LinkedList<KylinPerformanceSubscribeUpushVo> list) { public void setPerformanceSubscribeList(String uid, LinkedList<KylinPerformanceSubscribeUpushVo> list) {
...@@ -1535,4 +1563,27 @@ public class DataUtils { ...@@ -1535,4 +1563,27 @@ public class DataUtils {
public int incrOrderRefundCode(String orderCode) { public int incrOrderRefundCode(String orderCode) {
return (int) redisUtil.incr(KylinRedisConst.ORDER_REFUND_TEMP + orderCode,1); return (int) redisUtil.incr(KylinRedisConst.ORDER_REFUND_TEMP + orderCode,1);
} }
//判断是否是会员
public Integer isMemberByUser(String uid) {
Integer isMember=0;
AdamUserMemberVo userMemberVo = getUserMemberVoByUid(uid);
if (null!=isMember && userMemberVo.isActive()){
isMember=1;
}
return isMember;
}
//获取用户信息
public AdamUserMemberVo getUserMemberVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid);
long s = System.currentTimeMillis();
AdamUserMemberVo vo = (AdamUserMemberVo) redisUtil.get(rk);
if (null != vo) {
vo.setState(vo.getState() == 1 ? (vo.getExpiryAt().isAfter(LocalDateTime.now()) ? 1 : 2) : vo.getState());
}
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
return vo;
}
} }
...@@ -41,4 +41,5 @@ kylin_ar_ticket.update =update kylin_ticket_active set state=?,redeem_uid= ?,red ...@@ -41,4 +41,5 @@ kylin_ar_ticket.update =update kylin_ticket_active set state=?,redeem_uid= ?,red
kylin_order_ticket_entities.update_status_bystation_pad=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=?, comment=? WHERE order_ticket_entities_id=? kylin_order_ticket_entities.update_status_bystation_pad=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=?, comment=? WHERE order_ticket_entities_id=?
# ------------------------ \u6F14\u51FA\u9884\u7EA6 ---------------------------- # ------------------------ \u6F14\u51FA\u9884\u7EA6 ----------------------------
kylin_performance_subscribe.insert=INSERT INTO kylin_performance_subscribe(performance_id,ticket_times_id,tickets_id,user_id,type,device_tokens,push_range,push_time,push_title,is_push)VALUES(?,?,?,?,?,?,?,?,?,?) kylin_performance_subscribe.insert=INSERT INTO kylin_performance_subscribe(performance_id,ticket_times_id,tickets_id,user_id,type,device_tokens,push_range,push_time,push_title,is_push)VALUES(?,?,?,?,?,?,?,?,?,?)
\ No newline at end of file kylin_performance_subscribe.delete=DELETE FROM kylin_performance_subscribe WHERE performance_id= ? and ticket_times_id = ?;
\ No newline at end of file
...@@ -556,7 +556,7 @@ public class PerformanceVoTask { ...@@ -556,7 +556,7 @@ public class PerformanceVoTask {
unicast.setBadge(1); unicast.setBadge(1);
unicast.setTicker("【正在现场】开票提醒"); unicast.setTicker("【正在现场】开票提醒");
unicast.setTitle("【正在现场】开票提醒"); unicast.setTitle("【正在现场】开票提醒");
unicast.setText(pushTitle+",10分钟后即将开售,请点击进入详情页购买。"); unicast.setText(pushTitle);
String custom = UpushTargetType.getTypeAction(jumpType); String custom = UpushTargetType.getTypeAction(jumpType);
unicast.goCustomAfterOpen(custom); unicast.goCustomAfterOpen(custom);
unicast.setDisplayType(AndroidNotification.DisplayType.NOTIFICATION); unicast.setDisplayType(AndroidNotification.DisplayType.NOTIFICATION);
...@@ -588,7 +588,7 @@ public class PerformanceVoTask { ...@@ -588,7 +588,7 @@ public class PerformanceVoTask {
try { try {
IOSUnicast unicast = new IOSUnicast(iosAppkey, iosAppMasterSecret); IOSUnicast unicast = new IOSUnicast(iosAppkey, iosAppMasterSecret);
//alert的值设置为字典 //alert的值设置为字典
unicast.setAlert("【正在现场】开票提醒", "", pushTitle+",10分钟后即将开售,请点击进入详情页购买。"); unicast.setAlert("【正在现场】开票提醒", "", pushTitle);
unicast.setBadge(1); unicast.setBadge(1);
unicast.setSound("default"); unicast.setSound("default");
if (!LnsEnum.ENV.prod.name().equals(environment.getProperty(CurrentUtil.CK_ENV_ACTIVE))) { if (!LnsEnum.ENV.prod.name().equals(environment.getProperty(CurrentUtil.CK_ENV_ACTIVE))) {
......
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