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

Commit 0a57e25c authored by wangyifan's avatar wangyifan

离线支付-精简逻辑

parent 52da284e
package com.liquidnet.service.goblin.dto.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 手环-子订单VO
*/
@Data
public class GoblinBraceletOrderEntitiesVo {
/**
* 订单详情ID
*/
private String orderEntitiesId;
/**
* 订单详情关联ID
*/
private String orderId;
/**
* 商品类型:1:手环 2:充值面值
*/
private Integer goodsType;
/**
* 商品ID wristband_id:手环ID amount_id:充值金额ID
*/
private String goodsId;
/**
* 商品名称
*/
private String goodsName;
/**
* 商品金额
*/
private BigDecimal goodsPrice;
/**
* 订单状态:
* 0 待付款
* 1 已付款
* 2 已关闭
* 3 正在退款
* 4 已退款
* 5 待关闭
* 6 部分退款
*/
private Integer status;
/**
* 支付状态:
* 0 未支付
* 1 已支付
* 2 支付失败
*/
private Integer payStatus;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
......@@ -47,6 +47,26 @@ public class GoblinBraceletOrderVo {
*/
private String goodsDesc;
/**
* 手环ID
*/
private String wristbandId;
/**
*手环金额
*/
private BigDecimal wristbandPrice;
/**
*充值金额ID
*/
private String amountId;
/**
*充值金额
*/
private BigDecimal amountPrice;
/**
* 请求流水号
*/
......@@ -72,11 +92,6 @@ public class GoblinBraceletOrderVo {
*/
private String tradeType;
/**
* ATU真实商户号
*/
private String atuSubMerId;
/**
* 用户账单上的交易订单号
*/
......@@ -141,6 +156,7 @@ public class GoblinBraceletOrderVo {
* 4 已退款
* 5 待关闭
* 6 部分退款
* 7 退款失败
*/
private Integer status;
......@@ -182,11 +198,5 @@ public class GoblinBraceletOrderVo {
*/
private LocalDateTime updatedAt;
/**
* 订单详细列表VO
*/
private List<GoblinBraceletOrderEntitiesVo> orderEntitiesDetailVoList;
}
package com.liquidnet.service.goblin.param.dougong;
import lombok.Data;
@Data
public class BaseDougongRequest<T> {
/**
* 系统号
* 渠道商/商户的huifu_id
* (1)当主体为渠道商时,此字段填写渠道商huifu_id;
* (2)当主体为直连商户时,此字段填写商户huifu_id;
*/
private String sysId;
/**
* 产品号
* 汇付分配的产品号,示例值:MCS
*/
private String productId;
/**
* 加签结果
*/
private String sign;
/**
* 数据
*/
private T data;
}
package com.liquidnet.service.goblin.param.dougong;
import lombok.Data;
/**
* 同步返回参数
* @param <T>
*/
@Data
public class BaseDougongResponse<T> {
/**
* 签名
*/
private String sign;
/**
* 响应内容体
*/
private T data;
}
package com.liquidnet.service.goblin.param.dougong;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
......@@ -92,6 +94,8 @@ public class DougongRequestParam {
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class WxDataGoodsDetail {
// 商品编码
......
......@@ -22,7 +22,7 @@ liquidnet:
huifu-id: '6666000171841162'
sys-id: '6666000162031620'
product-id: 'PAYUN'
sub-app-id: 'wxdfe9a5d141f96685'
sub-app-id: 'wx4732efeaa2b08086'
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArR8pqWsRMqiunn8uEZGF9AeizJK0vuWjlcNnTbw9Sb96dMVuYu3SRj+Dx4E4SgyEL4CYROou1xwY57kAKEqHdH7o1W41O9jYjXZG38BrtBR+D9Qh9OqGxCZ+e4Gi38XHGg6fn67iXefOqp1kWGd4qc8tIZO1lIDXS19R09D/mESNBMulQdVPyZF7gvd11A+7EEOfRlSOjrtqIoUWV0GIqhLPUtGJk8Uq/d9NLitJyvK3tgz8cvJ4RyK6UpGtRDrqiBiQxbvK9EqMd1sw3zkvM03szSWon4LHFNqvDr6RYfFyFUCvX9UPYmeritENnroEuTBlTFLLb68ed4HZEZDPTQIDAQAB"
private-key: "MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDJAOaA1ikJzDL0vUuTyl3/vlHyuSod6/gFLLrSTD6EJkma5Ld34HHu82/5pEojEvbcU113L9j3fUJlpyjX6CFk6j2KjMIuyFxhgrVFi5WT5m74wYohoWNifkQrgwsO3oxI7cewWFu/w7/yCK9dzI4QxasGUKH9iPweI+26IR0DBbOfC9GVudOy2b2xLrGAevEEHdVTNqrQNdlrTzqAH7r3uk8s2vaBZX+O4gyf7eKdHdC4CVSWfYPLO1sA48MxNwI7OExxfGeV+0wmBMGRSoZ5FhWsqZs+f9jGcmfF+uEfAO71PqHjezXYxq7+oWDfDBPCTc5fo9w5v1HV0aZaYOe1AgMBAAECggEBAI4yR98fInse7XF8NOpBwIv6/QhEfAoc9CHdCfFaJOPiHjIo2a5BpvhPWYj288eqU998TmPSAqDbCUzWm6taOb2lhJHukDT+Y3RMPqcLX275Fsp+SJUQEjoMb3eExh7ny8CQDrOvXoDkH3c/M6ic3Gf7Hslh46dz8D/2VOhXIqoObPlSLzniwiMTDBEwB7IRc3Q+r4V6ZnKt8wjKQZpotBA3TlJlEBBj/h5SbWokwMQbTqFkjl7gVe0ase2WfV+cD4qhPZx6CWphPVyWelg+wpDqXOIQdnE8pgri5a9ZkzgPTOrKyCm+EOa9lZAp81tnb2iFhrlkKPSWUW8zLtZzxMECgYEA+sNyF0U9anyxeKxXtlGKKuMHJSnBpZeU6FSvZjTewFH2Sxh3QwZjg6h5BfvTLH1XfNerx3gdpAPJ+EyAZuEibDr47bp+j4CtT27dVolz5XQ5ugOadwzdNZkq6vhuq1aGATmS/mlNE1/pdMEP9F6hi2HYncER6BFOy0xSwMKCnRECgYEAzTNxhvZ0pb2hPKylxHUydkm3Uznq5Zkquv6II6W5aiKvceETHwdRZLoKc+I0kd0/4fBfJI2Jsjexy51ERiG+8y4wVrcrky6NLw6mnXSvnTSQCftbexheJTg9c5dpfKIj+rxtuBeZ3Sj1MJQ6OSBUYu3iTqstO0Rgp/1ofWQJ8GUCgYEAspxzr0+KJ0cZwbI/54S8vT9n33iWjbQiRDnNlScjYij/HQ4YJI1wZF6jlTeBerbskeesWy+bLS/ltA4Jhz3knuKCXBHyA5TL3UBCN1lAS7c1RuE6LIHlLkAi6ap6aV//ou+3W671T0+JobfB/XVJ61WOTQ8wCfQKA5QhfVsOXYECgYEAvzbm3Ysfm6qfazi+p9lGErASov1fhGA8T1AMcJtnsh1sO8Qu20UodaJfRylNL3dqphIltpwl6eq4RTLhgjDEDTvHU6cQdfB1I5qVbDhlxSpL5uFRl91XLXvA18wKQledC3M3Esr7V/loscIOl1knCaD+t6wPVCEdqK0dB2uHT3kCgYEA3p3rlmCmWzkZ/U8jE4087YEkJWV+r86YC63r4YZEqZtfHk4hNchAYke4jYPqkTtmRVZi2C6KuVr5M3ASHmGWorBY0VA9Abd3daniNocZCeMOt4Z7U6MIbqW7KYSrjx8V8HIsdH7HF97ofRuMH6oaz9bFMM6XwrEAMY+zTdH9A4Y="
notify-url: 'https://testgoblin.zhengzai.tv/goblin/bracelet/callback'
......@@ -59,6 +59,26 @@ public class GoblinBraceletOrder implements Serializable {
*/
private String goodsDesc;
/**
* 手环ID
*/
private String wristbandId;
/**
*手环金额
*/
private BigDecimal wristbandPrice;
/**
*充值金额ID
*/
private String amountId;
/**
*充值金额
*/
private BigDecimal amountPrice;
/**
* 请求流水号
*/
......@@ -84,10 +104,6 @@ public class GoblinBraceletOrder implements Serializable {
*/
private String tradeType;
/**
* ATU真实商户号
*/
private String atuSubMerId;
/**
* 用户账单上的交易订单号
......@@ -153,6 +169,7 @@ public class GoblinBraceletOrder implements Serializable {
* 4 已退款
* 5 待关闭
* 6 部分退款
* 7 退款失败
*/
private Integer status;
......
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 手环订单详情表实体类
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinBraceletOrderEntities implements Serializable {
/**
* 主键ID
*/
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 订单详情ID
*/
private String orderEntitiesId;
/**
* 订单详情关联ID
*/
private String orderId;
/**
* 商品类型:1:手环 2:充值面值
*/
private Integer goodsType;
/**
* 商品ID wristband_id:手环ID amount_id:充值金额ID
*/
private String goodsId;
/**
* 商品名称
*/
private String goodsName;
/**
* 商品金额
*/
private BigDecimal goodsPrice;
/**
* 订单状态:
* 0 待付款
* 1 已付款
* 2 已关闭
* 3 正在退款
* 4 已退款
* 5 待关闭
* 6 部分退款
*/
private Integer status;
/**
* 支付状态:
* 0 未支付
* 1 已支付
* 2 支付失败
*/
private Integer payStatus;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
......@@ -5,7 +5,10 @@ import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.dto.vo.GoblinBraceletOrderVo;
import com.liquidnet.service.goblin.dto.vo.GoblinBraceletPayResultVo;
import com.liquidnet.service.goblin.dto.vo.GoblinRechargeAmountVo;
import com.liquidnet.service.goblin.dto.vo.GoblinRechargeWristbandVo;
import com.liquidnet.service.goblin.entity.GoblinBraceletOrder;
import com.liquidnet.service.goblin.enums.OrderStatus;
import com.liquidnet.service.goblin.enums.PayStatus;
......@@ -15,7 +18,6 @@ import com.liquidnet.service.goblin.param.dougong.DougongJsPayData;
import com.liquidnet.service.goblin.param.dougong.DougongRequestParam;
import com.liquidnet.service.goblin.param.dougong.DougongSyncCallbackparam;
import com.liquidnet.service.goblin.service.IGoblinBraceletOrderService;
import com.liquidnet.service.goblin.service.IGoblinBraceletOrderService;
import com.liquidnet.service.goblin.service.IGoblinDougongPayService;
import com.liquidnet.service.goblin.service.IGoblinRechargeWristbandService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
......@@ -47,13 +49,11 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
@Override
public ResponseDto<GoblinBraceletPayResultVo> checkOrder(GoblinBraceletOrderPayParam payParam) {
log.info("request param: {}.", JsonUtils.toJson(payParam));
// 1. 检查商品
GoblinRechargeWristbandVo rechargeWristbandVo = rechargeWristbandService.getList();
if (rechargeWristbandVo == null) {
log.error("查询商品为空");
return ResponseDto.failure("下单失败");
}
// 2. 计算金额
if (!rechargeWristbandVo.getWristbandId().equals(payParam.getWristbandId())) {
log.error("下单商品不存在");
return ResponseDto.failure("下单商品不存在");
......@@ -76,11 +76,9 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
// 要充值的面额
final GoblinRechargeAmountVo payAmountVo = payAmountList.get(0);
final GoblinBraceletOrderVo orderVo = getOrderVo(rechargeWristbandVo.getWristbandId(),
rechargeWristbandVo.getName(),
rechargeWristbandVo.getPrice(),
payAmountVo, payParam);
final String orderId = IDGenerator.nextSnowId();
final GoblinBraceletOrderVo orderVo = buildRechargeOrder(orderId, rechargeWristbandVo.getWristbandId(), rechargeWristbandVo.getPrice(),
payAmountVo.getAmountId(), payAmountVo.getPrice(), payParam);
if (orderVo == null) {
log.error("下单失败");
......@@ -96,7 +94,8 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
dougongJsPayData.setTransAmt(orderVo.getPriceTotal().setScale(2, RoundingMode.HALF_UP).toPlainString());
dougongJsPayData.setTimeExpire(DateUtil.format(DateUtil.addHour(new Date(), 2), DateUtil.Formatter.yyyyMMddHHmmssTrim));
dougongJsPayData.setSubOpenid(payParam.getSubOpenId());
dougongJsPayData.setGoodsDetailList(getGoodsDetailList(orderVo.getOrderEntitiesDetailVoList()));
dougongJsPayData.setGoodsDetailList(getGoodsDetailList(rechargeWristbandVo.getWristbandId(),
rechargeWristbandVo.getPrice(), rechargeWristbandVo.getName(), payAmountVo));
Map<String, Object> dougongResponseMap = dougongPayService.jsPay(dougongJsPayData);
if (null == dougongResponseMap || dougongResponseMap.isEmpty()) {
......@@ -106,7 +105,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
// 根据响应接口填充参数
orderVo.setHfSeqId((String) dougongResponseMap.get("hf_seq_id"));
orderVo.setAtuSubMerId((String) dougongResponseMap.get("atu_sub_mer_id"));
orderVo.setPartyOrderId((String) dougongResponseMap.get("party_order_id"));
// 5. 根据响应结构写 redis、mysql
......@@ -115,28 +113,20 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_bracelet_order_insert"));
sqls.add(SqlMapping.get("goblin_bracelet_order_entities_insert"));
LinkedList<Object[]> sqlDataOrder = CollectionUtil.linkedListObjectArr();
sqlDataOrder.add(new Object[]{
orderVo.getOrderId(), orderVo.getUserId(), orderVo.getBindName(), orderVo.getBindMobile(), orderVo.getBindIdcard(), orderVo.getReqDate(), orderVo.getGoodsDesc(),
orderVo.getReqSeqId(), orderVo.getHfSeqId(), orderVo.getTradeType(), orderVo.getAtuSubMerId(), orderVo.getPartyOrderId(),
orderVo.getPrice(), orderVo.getPriceTotal(), orderVo.getPriceRefund(), orderVo.getRefundPriceCharges(),
orderVo.getRefundNumber(), orderVo.getStatus(), orderVo.getPayStatus(), orderVo.getCreatedAt(), orderVo.getUpdatedAt()
orderVo.getOrderId(), orderVo.getUserId(), orderVo.getBindName(), orderVo.getBindMobile(), orderVo.getBindIdcard(),
orderVo.getReqDate(), orderVo.getGoodsDesc(), orderVo.getWristbandId(), orderVo.getWristbandPrice(), orderVo.getAmountId(),
orderVo.getAmountPrice(), orderVo.getReqSeqId(), orderVo.getHfSeqId(), orderVo.getTradeType(),
orderVo.getPartyOrderId(), orderVo.getPrice(), orderVo.getPriceTotal(), orderVo.getPriceRefund(),
orderVo.getRefundPriceCharges(), orderVo.getRefundNumber(), orderVo.getStatus(), orderVo.getPayStatus(),
orderVo.getCreatedAt(), orderVo.getUpdatedAt()
});
LinkedList<Object[]> sqlDataOrderEntities = CollectionUtil.linkedListObjectArr();
for (GoblinBraceletOrderEntitiesVo entitiesVo : orderVo.getOrderEntitiesDetailVoList()) {
sqlDataOrderEntities.add(new Object[]{
entitiesVo.getOrderEntitiesId(), entitiesVo.getOrderId(), entitiesVo.getGoodsType(), entitiesVo.getGoodsId(), entitiesVo.getGoodsName(),
entitiesVo.getGoodsPrice(), entitiesVo.getStatus(), entitiesVo.getPayStatus(), entitiesVo.getCreatedAt(),
entitiesVo.getUpdatedAt()
});
}
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(sqls, sqlDataOrder, sqlDataOrderEntities)
SqlMapping.gets(sqls, sqlDataOrder)
);
// 6. 响应数据
......@@ -147,58 +137,36 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
return ResponseDto.success(resultVo);
}
private List<DougongRequestParam.WxDataGoodsDetail> getGoodsDetailList(List<GoblinBraceletOrderEntitiesVo> orderEntitiesDetailVoList) {
if (orderEntitiesDetailVoList.isEmpty()) {
return Collections.emptyList();
}
List<DougongRequestParam.WxDataGoodsDetail> goodsDetailList = new ArrayList<>(orderEntitiesDetailVoList.size());
for (GoblinBraceletOrderEntitiesVo entitiesVo : orderEntitiesDetailVoList) {
DougongRequestParam.WxDataGoodsDetail detail = new DougongRequestParam.WxDataGoodsDetail();
detail.setGoodsId(entitiesVo.getGoodsId());
detail.setGoodsName(entitiesVo.getGoodsName());
detail.setPrice(entitiesVo.getGoodsPrice().toPlainString());
detail.setQuantity(1);
goodsDetailList.add(detail);
}
private List<DougongRequestParam.WxDataGoodsDetail> getGoodsDetailList(String wristbandId,
BigDecimal wristbandPrice,
String wristbandName,
GoblinRechargeAmountVo payAmountVo) {
List<DougongRequestParam.WxDataGoodsDetail> goodsDetailList = new ArrayList<>();
goodsDetailList.add(new DougongRequestParam.WxDataGoodsDetail(wristbandId, wristbandName, wristbandPrice.toPlainString(), 1));
goodsDetailList.add(new DougongRequestParam.WxDataGoodsDetail(payAmountVo.getAmountId(), payAmountVo.getName(), payAmountVo.getPrice().toPlainString(), 1));
return goodsDetailList;
}
/**
* @param wristbandId 手环ID
* @param name 手环名称
* @param price 手环价格
* @param payAmountVo 充值面额VO
* @param payParam 请求参数
* @return orderId
* @param orderId 手环订单ID
* @param wristbandId 手环ID
* @param wristbandPrice 手环金额
* @param amountId 充值金额ID
* @param amountPrice 充值金额
* @param payParam
* @return
*/
private GoblinBraceletOrderVo getOrderVo(String wristbandId,
String name,
BigDecimal price,
GoblinRechargeAmountVo payAmountVo,
GoblinBraceletOrderPayParam payParam) {
// 需付款金额
BigDecimal totalAmount = BigDecimal.ZERO.add(price).add(payAmountVo.getPrice());
private GoblinBraceletOrderVo buildRechargeOrder(String orderId,
String wristbandId,
BigDecimal wristbandPrice,
String amountId,
BigDecimal amountPrice,
GoblinBraceletOrderPayParam payParam) {
BigDecimal totalAmount = BigDecimal.ZERO.add(wristbandPrice).add(amountPrice);
final String uid = CurrentUtil.getCurrentUid();
log.info("用户下单, 需要支付金额: {}, uid: {}.", totalAmount.toPlainString(), uid);
log.info("用户{}需要付款金额: {}.", uid, totalAmount.toPlainString());
final String orderId = IDGenerator.nextSnowId();
try {
List<GoblinBraceletOrderEntitiesVo> list = new ArrayList<>();
list.add(buildRechargeOrderEntitiesVo(wristbandId, name, price, 1, orderId));
list.add(buildRechargeOrderEntitiesVo(payAmountVo.getAmountId(), payAmountVo.getName(), payAmountVo.getPrice(), 2, orderId));
GoblinBraceletOrderVo orderVo = buildRechargeOrder(payParam, orderId, uid, totalAmount);
orderVo.setOrderEntitiesDetailVoList(list);
return orderVo;
} catch (Exception e) {
log.error("error", e);
return null;
}
}
private GoblinBraceletOrderVo buildRechargeOrder(GoblinBraceletOrderPayParam payParam, String orderId, String uid, BigDecimal totalAmount) {
GoblinBraceletOrderVo braceletOrderVo = new GoblinBraceletOrderVo();
braceletOrderVo.setOrderId(orderId);
braceletOrderVo.setUserId(uid);
......@@ -207,6 +175,10 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
braceletOrderVo.setBindIdcard(payParam.getIdCard());
braceletOrderVo.setReqDate(DateUtil.getNowTime("yyyyMMdd"));
braceletOrderVo.setGoodsDesc(getGoodsDesc());
braceletOrderVo.setWristbandId(wristbandId);
braceletOrderVo.setWristbandPrice(wristbandPrice);
braceletOrderVo.setAmountId(amountId);
braceletOrderVo.setAmountPrice(amountPrice);
braceletOrderVo.setReqSeqId(IDGenerator.nextSnowId());
braceletOrderVo.setTradeType("T_MINIAPP");
braceletOrderVo.setPrice(totalAmount);
......@@ -221,20 +193,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
return braceletOrderVo;
}
private GoblinBraceletOrderEntitiesVo buildRechargeOrderEntitiesVo(String goodsId, String goodsName, BigDecimal goodsPrice, Integer goodsType, String orderId) {
GoblinBraceletOrderEntitiesVo entitiesVo = new GoblinBraceletOrderEntitiesVo();
entitiesVo.setOrderId(orderId);
entitiesVo.setOrderEntitiesId(IDGenerator.nextSnowId());
entitiesVo.setGoodsType(goodsType);
entitiesVo.setGoodsId(goodsId);
entitiesVo.setGoodsName(goodsName);
entitiesVo.setGoodsPrice(goodsPrice);
entitiesVo.setStatus(OrderStatus.PENDING_PAYMENT.getCode());
entitiesVo.setPayStatus(PayStatus.NOT_PAID.getCode());
entitiesVo.setCreatedAt(LocalDateTime.now());
entitiesVo.setUpdatedAt(LocalDateTime.now());
return entitiesVo;
}
/**
* 获取商品描述
......@@ -299,10 +257,13 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
if ("S".equalsIgnoreCase((String) callbackRespDataMap.get("trans_stat"))) {
// 斗拱返回成功
updateOrderStatus(OrderStatus.PAID.getCode(), PayStatus.PAID.getCode(), orderVo);
orderVo.setStatus(OrderStatus.PAID.getCode());
orderVo.setPayStatus(PayStatus.PAID.getCode());
} else {
// 斗拱返回失败
updateOrderStatus(OrderStatus.PENDING_PAYMENT.getCode(), PayStatus.PAYMENT_FAILED.getCode(), orderVo);
// orderVo.setStatus(OrderStatus.PAID.getCode());
orderVo.setPayStatus(PayStatus.PAYMENT_FAILED.getCode());
}
// 更新redis
......@@ -313,13 +274,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
SqlMapping.get("gpblin_bracelet_order_update", orderVo.getOutTransId(), orderVo.getEndTime(),
orderVo.getAcctDate(), orderVo.getPriceActual(), orderVo.getTimePay(), orderVo.getUpdatedAt(), orderVo.getOrderId())
);
for (GoblinBraceletOrderEntitiesVo entitiesVo : orderVo.getOrderEntitiesDetailVoList()) {
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.get("goblie_bracelet_order_entities_update", entitiesVo.getStatus(),
entitiesVo.getPayStatus(), entitiesVo.getUpdatedAt(), entitiesVo.getOrderEntitiesId())
);
}
return ResponseDto.success(Boolean.TRUE);
} catch (Exception e) {
log.error("error", e);
......@@ -328,14 +282,4 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
}
private void updateOrderStatus(int statusCode, int payStatusCode, GoblinBraceletOrderVo orderVo) {
orderVo.setStatus(statusCode);
orderVo.setPayStatus(payStatusCode);
List<GoblinBraceletOrderEntitiesVo> orderEntitiesDetailVoList = orderVo.getOrderEntitiesDetailVoList();
for (GoblinBraceletOrderEntitiesVo entitiesVo : orderEntitiesDetailVoList) {
entitiesVo.setStatus(statusCode);
entitiesVo.setPayStatus(payStatusCode);
entitiesVo.setUpdatedAt(LocalDateTime.now());
}
}
}
......@@ -2978,6 +2978,11 @@ public class GoblinRedisUtils {
redisUtil.set(key, orderVo, RedisKeyExpireConst.GOBLIN_BRACELET_USER_EXPIRE);
}
/**
* 获取手环订单信息
* @param orderId
* @return
*/
public GoblinBraceletOrderVo getBraceletOrderVo(String orderId){
String key = GoblinRedisConst.GOBLIN_BRACELET_ORDERID.concat(orderId);
Object obj = redisUtil.get(key);
......
......@@ -196,9 +196,7 @@ candy_user_coupon.update_apply_refund=UPDATE candy_user_coupon SET state=?,opera
#----
#----
# ---- \u624B\u73AF\u8BA2\u5355 ----
goblin_bracelet_order_insert = INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `req_seq_id`, `hf_seq_id`, `trade_type`, `atu_sub_mer_id`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_bracelet_order_insert = INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `wristband_id`, `wristband_price`, `amount_id`, `amount_price`, `req_seq_id`, `hf_seq_id`, `trade_type`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
gpblin_bracelet_order_update= update goblin_bracelet_order set out_trans_id=?, end_time=?, acct_date=?, price_actual=?, time_pay=?, updated_at=? where order_id=?
goblin_bracelet_order_entities_insert = INSERT INTO `goblin_bracelet_order_entities`(`order_entities_id`, `order_id`, `goods_type`, `goods_id`, `goods_name`, `goods_price`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?)
goblin_bracelet_order_update_cardno=UPDATE goblin_bracelet_order SET cardno=?,updated_at=? WHERE order_id=?
goblin_bracelet_order_update_refund=UPDATE goblin_bracelet_order SET status=?,refund_status=?,refund_status_note=?,updated_at=? WHERE order_id=?
goblie_bracelet_order_entities_update = update goblin_bracelet_order_entities set status=?, pay_status=?, updated_at=? where order_entities_id=?
\ No newline at end of file
goblin_bracelet_order_update_refund=UPDATE goblin_bracelet_order SET status=?,refund_status=?,refund_status_note=?,updated_at=? WHERE order_id=?
\ No newline at end of file
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