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

Commit 742d5b0b authored by jiangxiulong's avatar jiangxiulong

Merge branch 'dev' into test

parents 34917a50 24a42b7b
...@@ -72,6 +72,7 @@ liquidnet: ...@@ -72,6 +72,7 @@ liquidnet:
phpPayUrl: http://devdragon.zhengzai.tv phpPayUrl: http://devdragon.zhengzai.tv
phpMallUrl: https://devmall.zhengzai.tv phpMallUrl: https://devmall.zhengzai.tv
platformUrl: https://devplatform.zhengzai.tv platformUrl: https://devplatform.zhengzai.tv
h5Url: https://devm.zhengzai.tv
shunfeng: shunfeng:
url: "https://butler-dev-ms.sf-express.com" url: "https://butler-dev-ms.sf-express.com"
sk: 21e9a70f677a2bf29dfa2b3bead4f018 sk: 21e9a70f677a2bf29dfa2b3bead4f018
......
...@@ -73,6 +73,7 @@ liquidnet: ...@@ -73,6 +73,7 @@ liquidnet:
phpPayUrl: http://testdragon.zhengzai.tv phpPayUrl: http://testdragon.zhengzai.tv
phpMallUrl: https://testmall.zhengzai.tv phpMallUrl: https://testmall.zhengzai.tv
platformUrl: https://testplatform.zhengzai.tv platformUrl: https://testplatform.zhengzai.tv
h5Url: https://testm.zhengzai.tv
shunfeng: shunfeng:
url: "https://butler-dev-ms.sf-express.com" url: "https://butler-dev-ms.sf-express.com"
sk: 21e9a70f677a2bf29dfa2b3bead4f018 sk: 21e9a70f677a2bf29dfa2b3bead4f018
......
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.constant.SweetConstant; import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.entity.SweetWechatUser; import com.liquidnet.service.sweet.entity.SweetWechatUser;
...@@ -21,6 +23,7 @@ import org.springframework.data.redis.core.RedisTemplate; ...@@ -21,6 +23,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.Set; import java.util.Set;
/** /**
...@@ -38,6 +41,8 @@ public class SweetWechatTemplateServiceImpl { ...@@ -38,6 +41,8 @@ public class SweetWechatTemplateServiceImpl {
private String appid; private String appid;
@Value("${liquidnet.wechat.zhengzai.service.secret}") @Value("${liquidnet.wechat.zhengzai.service.secret}")
private String secret; private String secret;
@Value("${liquidnet.client.admin.h5Url}")
private String h5Url;
@Autowired @Autowired
private RedisDataUtils redisDataUtils; private RedisDataUtils redisDataUtils;
...@@ -53,7 +58,21 @@ public class SweetWechatTemplateServiceImpl { ...@@ -53,7 +58,21 @@ public class SweetWechatTemplateServiceImpl {
for (String rkey : keys) { for (String rkey : keys) {
SweetRemindVo remindInfo = (SweetRemindVo) redisUtil.get(rkey); SweetRemindVo remindInfo = (SweetRemindVo) redisUtil.get(rkey);
SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId()); SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId());
if (null == sweetWechatUser) { KylinPerformanceVo performanceVo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES.concat(remindInfo.getPerformancesId()));
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0);
if (null == sweetWechatUser || null == performanceVo) {
continue;
}
LocalDateTime nowTime = LocalDateTime.now();
LocalDateTime newNowTime = nowTime.minusMinutes(5);
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(newNowTime);
String sellTime = performanceVo.getSellTime();
String stopSellTime = performanceVo.getStopSellTime();
if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis
redisDataUtils.delSweetRemind(remindInfo.getUnionId());
continue;
}
if (-1 == DateUtil.compareStrDay(nowTimeStr, sellTime)) { // 还没到售卖期
continue; continue;
} }
// 发送模板消息接口 // 发送模板消息接口
...@@ -63,19 +82,23 @@ public class SweetWechatTemplateServiceImpl { ...@@ -63,19 +82,23 @@ public class SweetWechatTemplateServiceImpl {
// 模板id // 模板id
.templateId(templateId) .templateId(templateId)
// 模板跳转链接 // 模板跳转链接
// .url("") .url(h5Url.concat("/#/ticket/detail?id=").concat(remindInfo.getPerformancesId()))
.build(); .build();
// 添加模板数据 // 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "您好")) templateMessage.addData(new WxMpTemplateData("first", "您关注的演出即将开始售票"))
.addData(new WxMpTemplateData("keyword1", "演出名称")) .addData(new WxMpTemplateData("keyword1", performanceVo.getTitle()))
.addData(new WxMpTemplateData("keyword3", "场馆")) .addData(new WxMpTemplateData("keyword2", kylinTicketTimesVo.getTitle()))
.addData(new WxMpTemplateData("remark", "备注")); .addData(new WxMpTemplateData("keyword3", performanceVo.getFieldName()))
.addData(new WxMpTemplateData("remark", "点击这里跳转购票"));
String msgId = null; String msgId = null;
try { try {
// 发送模板消息 // 发送模板消息
WxMpConfigStorage wxMpConfig = wxMpConfig(appid, secret); WxMpConfigStorage wxMpConfig = wxMpConfig(appid, secret);
WxMpService wxMpService = wxMpService(wxMpConfig); WxMpService wxMpService = wxMpService(wxMpConfig);
msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
if (null != msgId) {
redisDataUtils.delSweetRemind(remindInfo.getUnionId());
}
} catch (WxErrorException e) { } catch (WxErrorException e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -105,8 +128,7 @@ public class SweetWechatTemplateServiceImpl { ...@@ -105,8 +128,7 @@ public class SweetWechatTemplateServiceImpl {
} }
public ResponseDto remind(String openId, String unionId, String performancesId) { public ResponseDto remind(String openId, String unionId, String performancesId) {
KylinPerformanceVo performanceInfo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES); redisDataUtils.setSweetRemind(openId, unionId, performancesId);
redisDataUtils.setSweetRemind(openId, unionId, performancesId, performanceInfo);
return ResponseDto.success(); return ResponseDto.success();
} }
} }
...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.constant.SweetConstant; import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.dto.SweetManualAppletDto; import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto; import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
...@@ -263,7 +262,7 @@ public class RedisDataUtils { ...@@ -263,7 +262,7 @@ public class RedisDataUtils {
} }
// 小程序演出提醒 // 小程序演出提醒
public void setSweetRemind(String openId, String unionId, String performancesId, KylinPerformanceVo performanceInfo) { public void setSweetRemind(String openId, String unionId, String performancesId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId); String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId);
SweetRemindVo sweetRemindVo = SweetRemindVo.getNew(); SweetRemindVo sweetRemindVo = SweetRemindVo.getNew();
sweetRemindVo.setCreatedAt(DateUtil.getNowTime()); sweetRemindVo.setCreatedAt(DateUtil.getNowTime());
...@@ -271,14 +270,12 @@ public class RedisDataUtils { ...@@ -271,14 +270,12 @@ public class RedisDataUtils {
sweetRemindVo.setUnionId(unionId); sweetRemindVo.setUnionId(unionId);
sweetRemindVo.setOpenId(openId); sweetRemindVo.setOpenId(openId);
if (null != performanceInfo) {
sweetRemindVo.setFieldName(performanceInfo.getFieldName());
sweetRemindVo.setTitle(performanceInfo.getTitle());
sweetRemindVo.setTimeStart(performanceInfo.getTimeStart());
sweetRemindVo.setSellTime(performanceInfo.getSellTime());
}
redisUtil.set(redisKey, sweetRemindVo); redisUtil.set(redisKey, sweetRemindVo);
} }
public void delSweetRemind(String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId);
redisUtil.del(redisKey);
}
// 正在现场服务号关注事件储存用户信息 // 正在现场服务号关注事件储存用户信息
public void setSweetWechatUser(SweetWechatUser sweetWechatUser) { public void setSweetWechatUser(SweetWechatUser sweetWechatUser) {
......
...@@ -9,10 +9,10 @@ public class SweetRemindVo implements Serializable, Cloneable { ...@@ -9,10 +9,10 @@ public class SweetRemindVo implements Serializable, Cloneable {
private String performancesId; private String performancesId;
private String openId; private String openId;
private String unionId; private String unionId;
private String title; /*private String title;
private String timeStart; private String timeStart;
private String sellTime; private String sellTime;
private String fieldName; private String fieldName;*/
private String createdAt; private String createdAt;
private String updatedAt; private String updatedAt;
......
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