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

Commit 89f7d106 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 2dcd0af3 13a02d47
package com.liquidnet.service.dragon.service;
public interface IDragonOrdersService {
void sendRedisQueue();
}
......@@ -2,9 +2,13 @@ package com.liquidnet.service.kylin.dto.vo.returns;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class OrderRefundListVo {
private String orderRefundsId;
private String orderRefundCode;
private Integer status;
private BigDecimal price;
private String applicantId;
}
......@@ -28,8 +28,8 @@ public class RedisStreamConfig {
.pollTimeout(Duration.ofSeconds(1))
.build();
var listenerContainer = StreamMessageListenerContainer.create(factory,options);
var subscription = listenerContainer.receiveAutoAck(Consumer.from("dragon","dragon_pay"),
StreamOffset.create("dragon", ReadOffset.lastConsumed()),redisReceiver);
var subscription = listenerContainer.receiveAutoAck(Consumer.from("group-1","consumer-1"),
StreamOffset.create("mystream", ReadOffset.lastConsumed()),redisReceiver);
listenerContainer.start();
return subscription;
}
......
package com.liquidnet.service.dragon.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.dragon.service.IDragonOrdersService;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("pay")
public class PayController {
@Autowired
IDragonOrdersService dragonOrdersService;
@PostMapping("pre")
@ApiOperation("发送测试redis")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> checkCanOrder() {
dragonOrdersService.sendRedisQueue();
return ResponseDto.success();
}
}
package com.liquidnet.service.dragon.receiver;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.data.redis.stream.StreamListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RedisReceiver implements StreamListener<String, MapRecord<String, String, String>> {
// @Override
// public void onMessage(Message message, byte[] pattern) {
// RedisSerializer serializer = new JdkSerializationRedisSerializer();
// StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// //接收的topic
// String channel = stringRedisSerializer.deserialize(message.getChannel());
// System.out.println("INFO CHANNEL => "+channel);
// //消息的POJO
// Object o = serializer.deserialize(message.getBody());
// System.out.println("INFO MESSAGE => "+o);
// }
@Override
public void onMessage(MapRecord<String, String, String> message) {
......
......@@ -18,11 +18,9 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
@Override
public void sendRedisQueue() {
try {
stringRedisTemplate.convertAndSend("msg2", "测试 redis 订阅信息2");
HashMap<String ,String> map = new HashMap<>();
map.put("message","测试 redis 订阅信息1");
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey("dragon");
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey("mystream");
stringRedisTemplate.opsForStream().add(record);
}catch (Exception e){
e.printStackTrace();
......
package com.liquidnet.service.dragon.service.impl;
import com.liquidnet.service.dragon.service.IDragonOrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@Service
public class DragonOrdersServiceImpl implements IDragonOrdersService {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Override
public void sendRedisQueue() {
try {
stringRedisTemplate.convertAndSend("msg2", "测试 redis 订阅信息2");
HashMap<String ,String> map = new HashMap<>();
map.put("message","测试 redis 订阅信息1");
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey("dragon");
stringRedisTemplate.opsForStream().add(record);
}catch (Exception e){
e.printStackTrace();
}
}
}
......@@ -196,7 +196,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
Integer orderExpressStatus = dataUtils.getOrderExpressInfo(orderTicketVo.getOrderTicketsId());
vo.setExpressStatus(orderExpressStatus);
List<KylinOrderRefundsOrderCodeVo> orderRefundsVoBaseList = new ArrayList<>();
List<KylinOrderRefundsVo> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("获取退款详情 -> time:" + (currentTime) + "毫秒");
......@@ -208,6 +207,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
data.setOrderRefundCode(item.getOrderRefundCode().substring(item.getOrderRefundCode().length() - 10));
data.setOrderRefundsId(item.getOrderRefundsId());
data.setStatus(item.getStatus());
data.setPrice(item.getPrice());
data.setApplicantId(uid.equals(item.getApplicantId())?"1":"0");
if (item.getStatus().equals(0) || item.getStatus().equals(1) || item.getStatus().equals(7) || item.getStatus().equals(3) || item.getStatus().equals(4)) {
lockPrice = lockPrice.add(item.getPrice());
}
......@@ -218,7 +219,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime());
LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime());
if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate) && orderTicketVo.getExpressAddress().trim().equals("")
&& ticketVo.getCounts() == 1 && lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0) {
&& ticketVo.getCounts() == 1 && lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0
&& (orderTicketVo.getStatus().equals(1) || orderTicketVo.getStatus().equals(3) || orderTicketVo.getStatus().equals(6))) {
vo.setIsCanRefund(1);
} else {
vo.setIsCanRefund(0);
......@@ -233,7 +235,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
log.debug("循环退款详情 -> time:" + (currentTime) + "毫秒");
orderTicketVo.setOrderRefundListVos(orderRefundListVos);
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10));
vo.setOrderRefundsVoList(orderRefundsVoBaseList);
vo.setOrderTicketVo(orderTicketVo);
vo.setEnterDescribe(dataUtils.getEnterInfo("1"));
}
......
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