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

Commit 99c53af1 authored by anjiabin's avatar anjiabin

优化支付代码

parent 653af6c7
...@@ -19,10 +19,9 @@ import java.time.LocalDateTime; ...@@ -19,10 +19,9 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class DragonOrders implements Serializable { public class DragonOrders implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = -4897000205961106873L;
@TableId(value = "mid", type = IdType.AUTO) @TableId(value = "mid", type = IdType.AUTO)
private Long mid; private Long mid;
...@@ -116,5 +115,15 @@ public class DragonOrders implements Serializable { ...@@ -116,5 +115,15 @@ public class DragonOrders implements Serializable {
*/ */
private LocalDateTime deletedAt; private LocalDateTime deletedAt;
private static final DragonOrders obj = new DragonOrders();
public static DragonOrders getNew() {
try {
return (DragonOrders) obj.clone();
} catch (CloneNotSupportedException e) {
return new DragonOrders();
}
}
} }
...@@ -38,7 +38,7 @@ public class DragonServiceCommonBiz { ...@@ -38,7 +38,7 @@ public class DragonServiceCommonBiz {
public DragonOrders buildPayOrders(DragonPayBaseReqDto dragonPayBaseReqDto, DragonPayBaseRespDto respDto){ public DragonOrders buildPayOrders(DragonPayBaseReqDto dragonPayBaseReqDto, DragonPayBaseRespDto respDto){
//构造订单 //构造订单
DragonOrders orders = new DragonOrders(); DragonOrders orders = DragonOrders.getNew();
// orders.setMid(); // orders.setMid();
orders.setOrderId(IDGenerator.nextTimeId()); orders.setOrderId(IDGenerator.nextTimeId());
orders.setStatus(Integer.valueOf(DragonConstant.PayStatusEnum.STATUS_UNPAID.getCode())); orders.setStatus(Integer.valueOf(DragonConstant.PayStatusEnum.STATUS_UNPAID.getCode()));
......
...@@ -32,7 +32,7 @@ public class MqHandleUtil { ...@@ -32,7 +32,7 @@ public class MqHandleUtil {
*/ */
public boolean sendNotifyErrorQueue(PayNotifyReqBo payNotifyReqBo,String queueKey) { public boolean sendNotifyErrorQueue(PayNotifyReqBo payNotifyReqBo,String queueKey) {
try { try {
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = ObjectUtil.hashMapStringAndString;
map.put("message", payNotifyReqBo.toString()); map.put("message", payNotifyReqBo.toString());
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(queueKey); MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(queueKey);
stringRedisTemplate.opsForStream().add(record); stringRedisTemplate.opsForStream().add(record);
...@@ -52,13 +52,13 @@ public class MqHandleUtil { ...@@ -52,13 +52,13 @@ public class MqHandleUtil {
*/ */
public boolean sendMySqlRedis(String sql, Object[] data , String redisKey) { public boolean sendMySqlRedis(String sql, Object[] data , String redisKey) {
try { try {
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
sqls.add(sql); sqls.add(sql);
LinkedList<Object[]> sqlsData = new LinkedList(); LinkedList<Object[]> sqlsData = ObjectUtil.cloneLinkedListObj();
sqlsData.add(data); sqlsData.add(data);
String sqlData = SqlMapping.gets(sqls, sqlsData); String sqlData = SqlMapping.gets(sqls, sqlsData);
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = ObjectUtil.cloneHashMapStringAndString();
map.put("message", sqlData); map.put("message", sqlData);
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(redisKey); MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(redisKey);
stringRedisTemplate.opsForStream().add(record); stringRedisTemplate.opsForStream().add(record);
......
package com.liquidnet.service.dragon.utils;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.LinkedList;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ObjectUtil
* @Package com.liquidnet.service.dragon.utils
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/21 16:00
*/
@Component
public class ObjectUtil {
public static final LinkedList<Object[]> linkedListObj = new LinkedList<Object[]>();
public static final LinkedList<String> linkedListStr = new LinkedList<String>();
public static final HashMap<String, String> hashMapStringAndString = new HashMap<String, String>();
public static LinkedList<Object[]> cloneLinkedListObj() {
linkedListObj.clear();
return linkedListObj;
}
public static LinkedList<String> cloneLinkedListStr() {
linkedListStr.clear();
return linkedListStr;
}
public static HashMap<String, String> cloneHashMapStringAndString() {
hashMapStringAndString.clear();
return hashMapStringAndString;
}
}
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