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

Commit 4d8e9cb6 authored by jiangxiulong's avatar jiangxiulong

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

parents 40b1a298 28c7ae24
...@@ -141,7 +141,7 @@ public class DragonConstant { ...@@ -141,7 +141,7 @@ public class DragonConstant {
public enum PayTypeEnum{ public enum PayTypeEnum{
PAYMENT_TYPE_APP_ALIPAY("APPALIPAY","alipay","app","App内支付宝支付"), PAYMENT_TYPE_APP_ALIPAY("APPALIPAY","alipay","app","App内支付宝支付"),
PAYMENT_TYPE_APP_WEPAY("APPWEPAY","wepay","app","App内微信支付"), PAYMENT_TYPE_APP_WEPAY("APPWEPAY","wepay","app","App内微信支付"),
PAYMENT_TYPE_APP_IAP("APPIAP","applepay","app","App内IAP(In-App Purchase)支付,iOS虚拟道具支付"), PAYMENT_TYPE_APP_IAP("APPIAP","iap","app","App内IAP(In-App Purchase)支付,iOS虚拟道具支付"),
PAYMENT_TYPE_WAP_ALIPAY("WAPALIPAY","alipay","wap","手机网页内支付宝支付"), PAYMENT_TYPE_WAP_ALIPAY("WAPALIPAY","alipay","wap","手机网页内支付宝支付"),
PAYMENT_TYPE_WAP_WEPAY("WAPWEPAY","wepay","wap","手机网页调起微信支付"), PAYMENT_TYPE_WAP_WEPAY("WAPWEPAY","wepay","wap","手机网页调起微信支付"),
PAYMENT_TYPE_WEB_ALIPAY("WEBALIPAY","alipay","web","电脑网页内支付宝即时到账支付"), PAYMENT_TYPE_WEB_ALIPAY("WEBALIPAY","alipay","web","电脑网页内支付宝即时到账支付"),
...@@ -153,7 +153,7 @@ public class DragonConstant { ...@@ -153,7 +153,7 @@ public class DragonConstant {
private String message; private String message;
private String payType; private String payType;
private String deviceFrom; private String deviceFrom;
PayTypeEnum(String code, String message,String payType,String deviceFrom) { PayTypeEnum(String code,String payType,String deviceFrom,String message) {
this.code = code; this.code = code;
this.message = message; this.message = message;
this.payType = payType; this.payType = payType;
...@@ -217,8 +217,8 @@ public class DragonConstant { ...@@ -217,8 +217,8 @@ public class DragonConstant {
* MYSQL_REDIS_QUEUE * MYSQL_REDIS_QUEUE
*/ */
public enum MysqlRedisQueueEnum{ public enum MysqlRedisQueueEnum{
DRAGON_PAY_KEY("dragon-pay","同步数据-支付"), DRAGON_PAY_KEY("dragon:stream:dragon-pay","同步数据-支付"),
DRAGON_REFUND_KEY ("dragon-refund","同步数据-退款"), DRAGON_REFUND_KEY ("dragon:stream:dragon-refund","同步数据-退款"),
DRAGON_PAY_GROUP("dragon-pay-group","同步数据-支付-组"), DRAGON_PAY_GROUP("dragon-pay-group","同步数据-支付-组"),
DRAGON_REFUND_GROUP ("dragon-refund-group","同步数据-退款-组"); DRAGON_REFUND_GROUP ("dragon-refund-group","同步数据-退款-组");
private String code; private String code;
......
package com.liquidnet.service.dragon.dto; package com.liquidnet.service.dragon.dto;
import com.alibaba.fastjson.JSON;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -31,4 +32,9 @@ public class DragonPayBaseReqDto { ...@@ -31,4 +32,9 @@ public class DragonPayBaseReqDto {
private String quitUrl; private String quitUrl;
private String showUrl; private String showUrl;
private String returnUrl; private String returnUrl;
@Override
public String toString(){
return JSON.toJSONString(this);
}
} }
...@@ -56,10 +56,13 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -56,10 +56,13 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamUserInfoVo userInfoVo) { public void edit(AdamUserInfoVo userInfoVo) {
userInfoVo.setCreateAt(null);
Document updateDoc = Document.parse(JsonUtils.toJson(userInfoVo));
updateDoc.replace("updatedAt", userInfoVo.getUpdatedAt());
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
UpdateResult updateResult = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).updateOne( UpdateResult updateResult = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("uid").is(userInfoVo.getUid())).getQueryObject(), Query.query(Criteria.where("uid").is(userInfoVo.getUid())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(userInfoVo))) new Document("$set", updateDoc)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (updateResult.getModifiedCount() <= 0) { if (updateResult.getModifiedCount() <= 0) {
......
...@@ -44,7 +44,7 @@ public abstract class DragonPayBiz { ...@@ -44,7 +44,7 @@ public abstract class DragonPayBiz {
orders.setOrderCode(dragonPayBaseReqDto.getOrderCode()); orders.setOrderCode(dragonPayBaseReqDto.getOrderCode());
orders.setClientIp(dragonPayBaseReqDto.getClientIp()); orders.setClientIp(dragonPayBaseReqDto.getClientIp());
orders.setNotifyUrl(dragonPayBaseReqDto.getNotifyUrl()); orders.setNotifyUrl(dragonPayBaseReqDto.getNotifyUrl());
orders.setPaymentType(DragonConstant.PayTypeEnum.PAYMENT_TYPE_APP_IAP.getCode()); orders.setPaymentType((dragonPayBaseReqDto.getDeviceFrom()+dragonPayBaseReqDto.getPayType()).toUpperCase());
// orders.setPaymentId(); // orders.setPaymentId();
orders.setPaymentAt(LocalDateTime.now()); orders.setPaymentAt(LocalDateTime.now());
// orders.setFinishedAt(); // orders.setFinishedAt();
......
...@@ -36,6 +36,7 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService { ...@@ -36,6 +36,7 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService {
public ResponseDto<DragonPayBaseRespDto> dragonPay(DragonPayBaseReqDto dragonPayBaseReqDto) { public ResponseDto<DragonPayBaseRespDto> dragonPay(DragonPayBaseReqDto dragonPayBaseReqDto) {
//设置支付编号 //设置支付编号
dragonPayBaseReqDto.setCode(IDGenerator.payCode()); dragonPayBaseReqDto.setCode(IDGenerator.payCode());
log.info("dragon:dragonPay:req:dragonPayBaseReqDto : {}",dragonPayBaseReqDto.toString());
return payChannelStrategyContext.getStrategy(dragonPayBaseReqDto.getPayType()).dragonPay(dragonPayBaseReqDto); return payChannelStrategyContext.getStrategy(dragonPayBaseReqDto.getPayType()).dragonPay(dragonPayBaseReqDto);
} }
...@@ -50,7 +51,8 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService { ...@@ -50,7 +51,8 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService {
if(StringUtil.isEmpty(ordersDto)){ if(StringUtil.isEmpty(ordersDto)){
throw new LiquidnetServiceException(DragonErrorCodeEnum.TRADE_ERROR_NOT_EXISTS.getCode(),DragonErrorCodeEnum.TRADE_ERROR_NOT_EXISTS.getMessage()); throw new LiquidnetServiceException(DragonErrorCodeEnum.TRADE_ERROR_NOT_EXISTS.getCode(),DragonErrorCodeEnum.TRADE_ERROR_NOT_EXISTS.getMessage());
} }
return payChannelStrategyContext.getStrategy(DragonConstant.PayTypeEnum.getEnumByCode(ordersDto.getPaymentType()).getPayType()).checkOrderStatus(code); String payType = DragonConstant.PayTypeEnum.getEnumByCode(ordersDto.getPaymentType()).getPayType();
return payChannelStrategyContext.getStrategy(payType).checkOrderStatus(code);
} }
@Override @Override
......
...@@ -12,31 +12,38 @@ public class DataUtils { ...@@ -12,31 +12,38 @@ public class DataUtils {
private RedisUtil redisUtil; private RedisUtil redisUtil;
public void createPayOrder(String orderCode, String code, DragonOrdersDto ordersDto) { public void createPayOrder(String orderCode, String code, DragonOrdersDto ordersDto) {
if (redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode)) { if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode)) {
} else {
redisUtil.set(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode, code); redisUtil.set(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode, code);
redisUtil.set(DragonConstant.REDIS_KET_PAY_CODE + code, ordersDto); redisUtil.set(DragonConstant.REDIS_KET_PAY_CODE + code, ordersDto);
} }
} }
public DragonOrdersDto getPayOrderByCode(String code){ public DragonOrdersDto getPayOrderByCode(String code) {
if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_CODE + code)) { if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_CODE + code)) {
//TODO 是否降级处理 //TODO 是否降级处理
} }
return (DragonOrdersDto) redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code); return (DragonOrdersDto) redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code);
} }
public DragonOrdersDto getPayOrderByOrderCode(String orderCode){ public DragonOrdersDto getPayOrderByOrderCode(String orderCode) {
if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode)) { if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode)) {
//TODO 是否降级处理 //TODO 是否降级处理
} }
//获取支付订单号 //获取支付订单号
String code = (String)redisUtil.get(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode); String code = (String) redisUtil.get(DragonConstant.REDIS_KET_PAY_ORDERCODE + orderCode);
return (DragonOrdersDto) redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code); return (DragonOrdersDto) redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code);
} }
public void updateOrderStatus(String code,DragonOrdersDto dragonOrdersDto){ public void updateOrderStatus(String code, DragonOrdersDto dragonOrdersDto) {
redisUtil.set(DragonConstant.REDIS_KET_PAY_CODE + code, dragonOrdersDto); redisUtil.set(DragonConstant.REDIS_KET_PAY_CODE + code, dragonOrdersDto);
} }
public void setRefundNotifyUrl(String code, String notifyUrl) {
redisUtil.set(DragonConstant.REFUND_REDIS_KET + code, notifyUrl);
}
public String getRefundNotifyUrl(String code) {
return (String) redisUtil.get(DragonConstant.REFUND_REDIS_KET + code);
}
} }
...@@ -87,4 +87,30 @@ public class MqHandleUtil { ...@@ -87,4 +87,30 @@ public class MqHandleUtil {
return false; return false;
} }
} }
/**
* 给 REDIS 队列发送消息 数据库相关
*
* @param sql sql语句
* @param data 需要操作的数据
* @return
*/
public boolean sendMySqlRedis(String sql, Object[] data , String redisKey) {
try {
LinkedList<String> sqls = new LinkedList<>();
sqls.add(sql);
LinkedList<Object[]> sqlsData = new LinkedList();
sqlsData.add(data);
String sqlData = SqlMapping.gets(sqls, sqlsData);
HashMap<String, String> map = new HashMap<>();
map.put("message", sqlData);
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(redisKey);
stringRedisTemplate.opsForStream().add(record);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
} }
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