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

Commit 922dd1b8 authored by jiangxiulong's avatar jiangxiulong

重写任务方式发送订阅消息;时间改成10分钟

parent d74036d4
package com.liquidnet.service.sweet.dto;
import lombok.Data;
@Data
public class SweetAppletSubMsgOfTypeDto {
private String targetId;
}
package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.dto.SweetAppletSubMsgOfTypeDto;
import com.liquidnet.service.sweet.entity.SweetAppletSubMsg;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
......@@ -13,4 +18,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface SweetAppletSubMsgMapper extends BaseMapper<SweetAppletSubMsg> {
@Select({
"select target_id as targetId " +
"from sweet_applet_sub_msg " +
"where is_push = 1 " +
"and activity_type = #{type} " +
"group by target_id"
})
List<SweetAppletSubMsgOfTypeDto> selectListOfType(@Param("type") Integer type);
}
......@@ -18,6 +18,6 @@ public interface FeignSweetWechatClient {
ResponseDto send();
@GetMapping("sweet/appletSubMsg/send")
ResponseDto sendSubMsg(@RequestParam("type") Integer type, @RequestParam("targetId") String targetId);
ResponseDto sendSubMsg(@RequestParam("type") Integer type);
}
......@@ -40,15 +40,12 @@ public class SweetWechatTaskHandler {
try {
String jobParam = XxlJobHelper.getJobParam();//执行参数
log.info("jobParam = " + jobParam);
String[] paramArray = jobParam.split(":");
String[] paramArray = jobParam.split(",");
ReturnT<String> success = ReturnT.SUCCESS;
for (String typeAndTargetId : paramArray) {
String[] typeAndTargetIdArray = typeAndTargetId.split(",");
Integer type = Integer.parseInt(typeAndTargetIdArray[0]);
String targetId = typeAndTargetIdArray[1];
Object data = feignSweetWechatClient.sendSubMsg(type, targetId).getData();
for (String type : paramArray) {
Object data = feignSweetWechatClient.sendSubMsg(Integer.parseInt(type)).getData();
log.info("sendSubMsgHandler:结果:{}", data);
success.setMsg(String.valueOf(data));
}
......
......@@ -13,6 +13,7 @@ import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformancesClient;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.config.WechatMaConfigure;
import com.liquidnet.service.sweet.dto.SweetAppletSubMsgOfTypeDto;
import com.liquidnet.service.sweet.entity.SweetAppletSubMsg;
import com.liquidnet.service.sweet.mapper.SweetAppletSubMsgMapper;
import com.liquidnet.service.sweet.service.ISweetAppletSubMsgService;
......@@ -59,50 +60,57 @@ public class SweetAppletSubMsgServiceImpl extends ServiceImpl<SweetAppletSubMsgM
@Override
public ResponseDto sendMsg(Integer type) {
/*List<SweetAppletSubMsg> msgList = subMsgMapper.selectList(
Wrappers.lambdaQuery(SweetAppletSubMsg.class)
.eq(SweetAppletSubMsg::getIsPush, 1)
.eq(SweetAppletSubMsg::getActivityType, type)
);
List<SweetAppletSubMsgOfTypeDto> targetIds = subMsgMapper.selectListOfType(type);
KylinPerformanceVo performanceVoData = null;
if (!targetId.isEmpty()) {
for (SweetAppletSubMsgOfTypeDto targetIdInfo : targetIds) {
String targetId = targetIdInfo.getTargetId();
ResponseDto<KylinPerformanceVo> kylinPerformanceVo = feignKylinPerformancesClient.detail(targetId, 0, 0, "");
performanceVoData = kylinPerformanceVo.getData();
KylinPerformanceVo performanceVoData = kylinPerformanceVo.getData();
if (null == performanceVoData || ObjectUtils.isEmpty(performanceVoData)) {
log.info("无演出数据:[performancesId={}]", targetId);
continue;
}
Integer isPush = isPush(performanceVoData, targetId);
if (isPush != 3) {
return ResponseDto.failure("当前演出还不能推送,状态".concat(String.valueOf(isPush)));
log.info("当前演出还不能推送:[状态={}]", isPush);
continue;
}
}
String title = performanceVoData.getTitle();
String timeStart = performanceVoData.getTimeStart();
ArrayList<String> msgIdList = CollectionUtil.arrayListString();
if (!CollectionUtils.isEmpty(msgList)) {
for (SweetAppletSubMsg info : msgList) {
try {
String msgId = info.getMsgId();
// 发送订阅消息接口
boolean subMessage = sendSubMessage(info, targetId, title, timeStart);
if (subMessage) {
msgIdList.add(msgId);
List<SweetAppletSubMsg> msgList = subMsgMapper.selectList(
Wrappers.lambdaQuery(SweetAppletSubMsg.class)
.eq(SweetAppletSubMsg::getIsPush, 1)
.eq(SweetAppletSubMsg::getActivityType, type)
.eq(SweetAppletSubMsg::getTargetId, targetId)
);
String title = performanceVoData.getTitle();
String timeStart = performanceVoData.getTimeStart();
ArrayList<String> msgIdList = CollectionUtil.arrayListString();
if (!CollectionUtils.isEmpty(msgList)) {
for (SweetAppletSubMsg info : msgList) {
try {
String msgId = info.getMsgId();
// 发送订阅消息接口
boolean subMessage = sendSubMessage(info, targetId, title, timeStart);
if (subMessage) {
msgIdList.add(msgId);
}
} catch (Exception e) {
log.error("小程序演出订阅提醒消息处理异常", e);
}
} catch (Exception e) {
log.error("小程序演出订阅提醒消息处理异常", e);
}
if (!CollectionUtils.isEmpty(msgIdList)) {
SweetAppletSubMsg update = new SweetAppletSubMsg();
update.setIsPush(2);
update.setUpdatedAt(LocalDateTime.now());
subMsgMapper.update(
update,
Wrappers.lambdaUpdate(SweetAppletSubMsg.class)
.in(SweetAppletSubMsg::getMsgId, msgIdList)
);
}
}
if (!CollectionUtils.isEmpty(msgIdList)) {
SweetAppletSubMsg update = new SweetAppletSubMsg();
update.setIsPush(2);
update.setTargetId(targetId);
update.setUpdatedAt(LocalDateTime.now());
subMsgMapper.update(
update,
Wrappers.lambdaUpdate(SweetAppletSubMsg.class)
.in(SweetAppletSubMsg::getMsgId, msgIdList)
);
}
}*/
}
return ResponseDto.success();
}
......@@ -297,7 +305,7 @@ public class SweetAppletSubMsgServiceImpl extends ServiceImpl<SweetAppletSubMsgM
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
String sellTime = performanceVoData.getSellTime();
LocalDateTime sellTimeLocal = LocalDateTime.parse(sellTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(5);
LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(10);
String sellTimeLocalNewStr = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTimeLocalNew);
String stopSellTime = performanceVoData.getStopSellTime();
......
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