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

Commit b36cf747 authored by wangyifan's avatar wangyifan

修改表结构;收钱吧订单状态转换正在商品订单状态

parent 4e833f12
...@@ -61,6 +61,8 @@ CREATE TABLE `goblin_sqb_order` ( ...@@ -61,6 +61,8 @@ CREATE TABLE `goblin_sqb_order` (
`coupon_expire_time` DATETIME COMMENT '券码过期时间', `coupon_expire_time` DATETIME COMMENT '券码过期时间',
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0-待支付 1-已支付 2-已核销 3-已退款 4-退款中 9-失败', `status` TINYINT NOT NULL DEFAULT 0 COMMENT '0-待支付 1-已支付 2-已核销 3-已退款 4-退款中 9-失败',
`refund_reason` VARCHAR(256) COMMENT '退款原因', `refund_reason` VARCHAR(256) COMMENT '退款原因',
`sqb_refund_sn` VARCHAR(256) COMMENT '收钱吧-退款号',
`sqb_refund_signature` VARCHAR(256) COMMENT '收钱吧-退款号密码',
`created_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`mid`), PRIMARY KEY (`mid`),
......
...@@ -14,8 +14,10 @@ public class GoblinSqbOrderVo implements Serializable { ...@@ -14,8 +14,10 @@ public class GoblinSqbOrderVo implements Serializable {
private String performancesId; private String performancesId;
// 正在spuId
private String spuId; private String spuId;
// 正在skuId
private String skuId; private String skuId;
// 数量 // 数量
...@@ -54,6 +56,12 @@ public class GoblinSqbOrderVo implements Serializable { ...@@ -54,6 +56,12 @@ public class GoblinSqbOrderVo implements Serializable {
// 退款备注 // 退款备注
private String refundReason; private String refundReason;
// 退款单号
private String refundSn;
// 退款单号密码
private String refundSignature;
// 创建时间 // 创建时间
private String createdAt; private String createdAt;
......
...@@ -22,9 +22,10 @@ public interface IGoblinSqbService { ...@@ -22,9 +22,10 @@ public interface IGoblinSqbService {
* *
* @param userId 用户ID * @param userId 用户ID
* @param orderId 本地订单ID * @param orderId 本地订单ID
* @param reason 退款原因
* @return 退款结果 * @return 退款结果
*/ */
ResponseDto<Boolean> refund(String userId, String orderId); ResponseDto<Boolean> refund(String userId, String orderId, String reason);
/** /**
......
...@@ -13,67 +13,99 @@ import java.util.List; ...@@ -13,67 +13,99 @@ import java.util.List;
@Data @Data
public class CouponRefundRequest { public class CouponRefundRequest {
/** 应用ID(收钱吧分配的应用id) */ /**
* 应用ID(收钱吧分配的应用id)
*/
private String appid; private String appid;
/** 卖家信息 */ /**
* 卖家信息
*/
private CommonRequest.Seller seller; private CommonRequest.Seller seller;
/** 订单信息 */ /**
* 订单信息
*/
private CommonRequest.OrderInfo orderID; private CommonRequest.OrderInfo orderID;
/** 申请退款信息不能为空 */ /**
* 申请退款信息不能为空
*/
private RefundInfo refundInfo; private RefundInfo refundInfo;
/** 退款请求id(${AppCode}+id) */ /**
* 退款请求id(${AppCode}+id)
*/
private String requestId; private String requestId;
/** 退款来源(固定值:EXTERN) */ /**
* 退款来源(固定值:EXTERN)
*/
private String requestSource; private String requestSource;
@Data
/** /**
* 退款信息 * 退款信息
*/ */
@Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public static class RefundInfo { public static class RefundInfo {
/** 金额 */ /**
* 金额
*/
private Long applyAmount; private Long applyAmount;
/** 退款类型(1商品 2金额) */ /**
* 退款类型(1商品 2金额)
*/
private Byte type; private Byte type;
/** 退款明细(商品必填) */ /**
* 退款明细(商品必填)
*/
private List<RefundItem> items; private List<RefundItem> items;
/** 退款原因 */ /**
* 退款原因
*/
private String refundReason; private String refundReason;
} }
@Data
/** /**
* 退款明细商品 * 退款明细商品
*/ */
@Data
public static class RefundItem { public static class RefundItem {
/** spu */ /**
* spu
*/
private String spuId; private String spuId;
/** sku */ /**
* sku
*/
private String skuId; private String skuId;
/** 标题 */ /**
* 标题
*/
private String title; private String title;
/** 商品图片 */ /**
* 商品图片
*/
private String img; private String img;
/** 数量 */ /**
* 数量
*/
private String quantity; private String quantity;
/** 退款类型(0正常商品 1自定义商品) */ /**
* 退款类型(0正常商品 1自定义商品)
*/
private Byte type; private Byte type;
} }
......
...@@ -16,50 +16,76 @@ public class SettlementCreateRequest implements Serializable { ...@@ -16,50 +16,76 @@ public class SettlementCreateRequest implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 应用ID(聚合收单唯一ID,需申请) */ /**
* 应用ID(聚合收单唯一ID,需申请)
*/
private String appid; private String appid;
/** 商城信息 */ /**
* 商城信息
*/
private CommonRequest.Mall mallID; private CommonRequest.Mall mallID;
/** 商户信息 */ /**
* 商户信息
*/
private CommonRequest.Seller seller; private CommonRequest.Seller seller;
/** 买家信息 */ /**
* 买家信息
*/
private CommonRequest.Buyer buyer; private CommonRequest.Buyer buyer;
/** 结算明细组(结算条目列表) */ /**
* 结算明细组(结算条目列表)
*/
private List<CheckoutItem> checkoutItems; private List<CheckoutItem> checkoutItems;
/** 结算总金额(单位:分) */ /**
* 结算总金额(单位:分)
*/
private Long amount; private Long amount;
@Data
/** /**
* 结算明细条目 * 结算明细条目
*/ */
public static class CheckoutItem{ @Data
public static class CheckoutItem {
/** 商品识别号(商品唯一标识,如 spuId) */ /**
* sqb 商品识别号(商品唯一标识,如 spuId)
*/
private String spuId; private String spuId;
/** 规格识别号(SKU唯一标识,如 skuId) */ /**
* sqb 规格识别号(SKU唯一标识,如 skuId)
*/
private String skuId; private String skuId;
/** 单价(单位:分) */ /**
* 单价(单位:分)
*/
private Long price; private Long price;
/** 购买数量 */ /**
* 购买数量
*/
private String quantity; private String quantity;
/** 商品类型(0 正常商品 1 自定义商品) */ /**
* 商品类型(0 正常商品 1 自定义商品)
*/
private Byte type; private Byte type;
/** 商品标题 */ /**
* 商品标题
*/
private String title; private String title;
/** 商品图片链接 */ /**
* 商品图片链接
*/
private String image; private String image;
} }
} }
...@@ -76,6 +76,11 @@ public class GoblinSqbOrder implements Serializable { ...@@ -76,6 +76,11 @@ public class GoblinSqbOrder implements Serializable {
*/ */
private String sqbAcquiringSn; private String sqbAcquiringSn;
/**
* 收钱吧收单号密码
*/
private String sqbAcquiringSign;
/** /**
* 结算明细ID * 结算明细ID
*/ */
...@@ -97,10 +102,20 @@ public class GoblinSqbOrder implements Serializable { ...@@ -97,10 +102,20 @@ public class GoblinSqbOrder implements Serializable {
private String couponExpireTime; private String couponExpireTime;
/** /**
* 状态 0-待支付 1-已支付 2-已核销 3-已退款 4-退款中 9-失败 * 状态 0-待支付 1-已支付 2-已核销 3-已退款 4-退款中 5-已取消 9-失败
*/ */
private Integer status; private Integer status;
/**
* 收钱吧-退款号
*/
private String sqbRefundSn;
/**
* 收钱吧-退款号密码
*/
private String sqbRefundSignature;
/** /**
* 退款原因 * 退款原因
*/ */
......
...@@ -54,13 +54,13 @@ public class GoblinSqbController { ...@@ -54,13 +54,13 @@ public class GoblinSqbController {
@PostMapping("/refund") @PostMapping("/refund")
@ApiOperation("申请退款") @ApiOperation("申请退款")
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "本地订单ID") @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "本地订单ID")
public ResponseDto<Boolean> refund( public ResponseDto<Boolean> refund(@NotBlank(message = "orderId 不能为空")
@NotBlank(message = "orderId 不能为空") @RequestParam("orderId") String orderId) { @RequestParam(value = "orderId") String orderId) {
String userId = CurrentUtil.getCurrentUid(); String userId = CurrentUtil.getCurrentUid();
log.info("[收钱吧退款] 接收请求 userId={}, orderId={}", userId, orderId); log.info("[收钱吧退款] 接收请求 userId={}, orderId={}", userId, orderId);
return goblinSqbService.refund(userId, orderId); return goblinSqbService.refund(userId, orderId, "用户申请退款");
} }
......
...@@ -3,12 +3,12 @@ package com.liquidnet.service.goblin.service.impl; ...@@ -3,12 +3,12 @@ package com.liquidnet.service.goblin.service.impl;
import com.liquidnet.common.third.sqb.biz.SqbBiz; import com.liquidnet.common.third.sqb.biz.SqbBiz;
import com.liquidnet.common.third.sqb.param.request.CommonRequest; import com.liquidnet.common.third.sqb.param.request.CommonRequest;
import com.liquidnet.common.third.sqb.param.request.CouponQueryRequest; import com.liquidnet.common.third.sqb.param.request.CouponQueryRequest;
import com.liquidnet.common.third.sqb.param.request.CouponRefundRequest;
import com.liquidnet.common.third.sqb.param.request.CouponStatusSyncRequest; import com.liquidnet.common.third.sqb.param.request.CouponStatusSyncRequest;
import com.liquidnet.common.third.sqb.param.response.data.CouponQueryData; import com.liquidnet.common.third.sqb.param.response.data.CouponQueryData;
import com.liquidnet.common.third.sqb.param.response.data.CouponRefundData; import com.liquidnet.common.third.sqb.param.response.data.CouponRefundData;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.IGoblinSqbService; import com.liquidnet.service.goblin.service.IGoblinSqbService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.util.GoblinMongoUtils;
...@@ -75,7 +75,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -75,7 +75,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
req.setAppid(sqbBiz.getSqbConfig().getAppId()); req.setAppid(sqbBiz.getSqbConfig().getAppId());
req.setSeller(buildSeller()); req.setSeller(buildSeller());
CouponQueryData couponData = sqbBiz.queryCoupon(req); CouponQueryData couponData = sqbBiz.queryCoupon(orderVo.getSqbOrderSn(), orderVo.getSqbOrderSignature());
if (couponData == null) return ResponseDto.failure("获取券码失败"); if (couponData == null) return ResponseDto.failure("获取券码失败");
// 更新订单 coupon 字段 // 更新订单 coupon 字段
...@@ -99,7 +99,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -99,7 +99,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
// ================================ 申请退款 ================================ // ================================ 申请退款 ================================
@Override @Override
public ResponseDto<Boolean> refund(String userId, String orderId) { public ResponseDto<Boolean> refund(String userId, String orderId, String reason) {
log.info("[收钱吧退款] 开始 userId={}, orderId={}", userId, orderId); log.info("[收钱吧退款] 开始 userId={}, orderId={}", userId, orderId);
GoblinSqbOrderVo orderVo = goblinSqbRedisUtils.getSqbOrder(orderId); GoblinSqbOrderVo orderVo = goblinSqbRedisUtils.getSqbOrder(orderId);
...@@ -116,21 +116,14 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -116,21 +116,14 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
syncOrderStatus(orderId, 4); syncOrderStatus(orderId, 4);
try { try {
// 调用收钱吧退款 CouponRefundData refundData = sqbBiz.refundCoupon(orderVo.getSqbOrderSn(),
CouponRefundRequest refundReq = new CouponRefundRequest(); orderVo.getSqbOrderSignature(),
refundReq.setAppid(sqbBiz.getSqbConfig().getAppId()); orderVo.getAmount(),
refundReq.setSeller(buildSeller()); (byte) 2, // 2-按金额退款
refundReq.setRequestSource("EXTERN"); new ArrayList<>(), // TODO 需要构建退款商品
refundReq.setRequestId(IDGenerator.nextSnowId()); reason,
buildRequestId(IDGenerator.nextSnowId())
CouponRefundRequest.RefundInfo refundInfo = new CouponRefundRequest.RefundInfo(); );
// amount 字段待接入实际金额(GoblinSqbOrderVo 需补充 amount)
refundInfo.setApplyAmount(0L); // TODO: 替换为实际订单金额
refundInfo.setType((byte) 2); // 2-按金额退款
refundInfo.setRefundReason("用户申请退款");
refundReq.setRefundInfo(refundInfo);
CouponRefundData refundData = sqbBiz.refundCoupon(refundReq);
if (refundData == null) { if (refundData == null) {
// 退款失败,回滚状态 // 退款失败,回滚状态
orderVo.setStatus(1); orderVo.setStatus(1);
...@@ -141,6 +134,9 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -141,6 +134,9 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
} }
// 退款成功 // 退款成功
orderVo.setRefundSn(refundData.getTicketsSn());
orderVo.setRefundSignature(refundData.getTicketSignature());
orderVo.setRefundReason(reason);
orderVo.setStatus(3); orderVo.setStatus(3);
orderVo.setUpdatedAt(LocalDateTime.now().format(DTF)); orderVo.setUpdatedAt(LocalDateTime.now().format(DTF));
goblinSqbRedisUtils.setSqbOrder(orderId, orderVo); goblinSqbRedisUtils.setSqbOrder(orderId, orderVo);
...@@ -367,13 +363,22 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -367,13 +363,22 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
} }
/**
* 同步正在商品订单状态
*
* @param orderId
* @param status
*/
private void syncOrderStatus(String orderId, int status) { private void syncOrderStatus(String orderId, int status) {
final int zhengzaiStatus = sqbOrderStatusConvert(status);
GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(orderId); GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(orderId);
if (storeOrderVo == null) return; if (storeOrderVo == null) return;
String now = LocalDateTime.now().format(DTF); String now = LocalDateTime.now().format(DTF);
storeOrderVo.setStatus(status); storeOrderVo.setStatus(zhengzaiStatus);
if (status == 1) { // 支付成功 if (zhengzaiStatus == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) { // 支付成功
storeOrderVo.setPayTime(now); storeOrderVo.setPayTime(now);
} }
...@@ -386,12 +391,12 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -386,12 +391,12 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
// 3. 同步 MySQL (复用下单 MQ 发送 Update 语句) // 3. 同步 MySQL (复用下单 MQ 发送 Update 语句)
String sql; String sql;
Object[] data; Object[] data;
if (status == 1) { if (zhengzaiStatus == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
sql = "UPDATE goblin_store_order SET status = ?, pay_time = ?, updated_at = ? WHERE order_id = ?"; sql = "UPDATE goblin_store_order SET status = ?, pay_time = ?, updated_at = ? WHERE order_id = ?";
data = new Object[]{status, now, now, orderId}; data = new Object[]{zhengzaiStatus, storeOrderVo.getPayTime(), now, orderId};
} else { } else {
sql = "UPDATE goblin_store_order SET status = ?, updated_at = ? WHERE order_id = ?"; sql = "UPDATE goblin_store_order SET status = ?, updated_at = ? WHERE order_id = ?";
data = new Object[]{status, now, orderId}; data = new Object[]{zhengzaiStatus, now, orderId};
} }
java.util.LinkedList<String> sqls = new java.util.LinkedList<>(); java.util.LinkedList<String> sqls = new java.util.LinkedList<>();
...@@ -404,4 +409,47 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -404,4 +409,47 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
com.liquidnet.service.base.SqlMapping.gets(sqls, sqlData)); com.liquidnet.service.base.SqlMapping.gets(sqls, sqlData));
} }
} }
/**
* goblin_sqb_order表status 转换成 goblin_store_order表对应status
*
* @param sqbOrderStatus
* @return
*/
private int sqbOrderStatusConvert(Integer sqbOrderStatus) {
if (null == sqbOrderStatus) {
return -1;
}
switch (sqbOrderStatus) {
case 0:
// 0-待支付 -> 对应枚举 ORDER_STATUS_0
return GoblinStatusConst.Status.ORDER_STATUS_0.getValue();
case 1:
// 1-已支付 -> 对应枚举 ORDER_STATUS_2 (代发货)
return GoblinStatusConst.Status.ORDER_STATUS_2.getValue();
case 2:
// 2-已核销 -> 对应枚举 ORDER_STATUS_4 (已完成)
return GoblinStatusConst.Status.ORDER_STATUS_4.getValue();
case 3:
// 3-已退款 -> 对应枚举 ORDER_STATUS_6 (退款通过)
return GoblinStatusConst.Status.ORDER_STATUS_6.getValue();
case 4:
// 4-退款中 -> 对应枚举 ORDER_STATUS_61 (发起-退款)
return GoblinStatusConst.Status.ORDER_STATUS_61.getValue();
case 5:
// 5-已取消 -> 对应枚举 ORDER_STATUS_5
return GoblinStatusConst.Status.ORDER_STATUS_5.getValue();
case 9:
// 9-失败 -> 这里归类为 ORDER_STATUS_5 (取消/终态),如有特殊需求可调整
return sqbOrderStatus;
default:
return sqbOrderStatus;
}
}
} }
...@@ -29,7 +29,13 @@ public class GoblinSqbRedisUtils { ...@@ -29,7 +29,13 @@ public class GoblinSqbRedisUtils {
} }
public GoblinSqbOrderVo getSqbOrder(String orderId) { public GoblinSqbOrderVo getSqbOrder(String orderId) {
return (GoblinSqbOrderVo) redisUtil.get(GoblinRedisConst.SQB_ORDER.concat(orderId)); String redisKey = GoblinRedisConst.SQB_ORDER.concat(orderId);
Object object = redisUtil.get(redisKey);
if (null == object) {
return null;
} else {
return (GoblinSqbOrderVo) object;
}
} }
public void delSqbOrder(String orderId) { public void delSqbOrder(String orderId) {
......
...@@ -12,6 +12,7 @@ import com.liquidnet.common.third.sqb.param.response.data.*; ...@@ -12,6 +12,7 @@ import com.liquidnet.common.third.sqb.param.response.data.*;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam; import com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.IGoblinSqbOrderService; import com.liquidnet.service.goblin.service.IGoblinSqbOrderService;
...@@ -251,6 +252,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService { ...@@ -251,6 +252,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
orderVo.setSpuId(spuId); orderVo.setSpuId(spuId);
orderVo.setSkuId(skuId); orderVo.setSkuId(skuId);
orderVo.setQuantity(quantity); orderVo.setQuantity(quantity);
orderVo.setAmount(sqbConvertUtils.yuanToFen(priceTotal));
orderVo.setSqbOrderSn(sqbOrderSn); orderVo.setSqbOrderSn(sqbOrderSn);
orderVo.setSqbOrderSignature(sqbOrderSignature); orderVo.setSqbOrderSignature(sqbOrderSignature);
orderVo.setSqbAcquiringSn(sqbAcquiringSn); orderVo.setSqbAcquiringSn(sqbAcquiringSn);
...@@ -597,34 +599,37 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService { ...@@ -597,34 +599,37 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
private void syncOrderStatus(String orderId, int status) { private void syncOrderStatus(String orderId, int status) {
final int zhengzaiStatus = sqbOrderStatusConvert(status);
GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(orderId); GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(orderId);
if (storeOrderVo == null) return; if (storeOrderVo == null) return;
String now = LocalDateTime.now().format(DTF); String now = LocalDateTime.now().format(DTF);
storeOrderVo.setStatus(status); storeOrderVo.setStatus(zhengzaiStatus);
if (status == 1) { // 支付成功 if (zhengzaiStatus == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) { // 支付成功
storeOrderVo.setPayTime(now); storeOrderVo.setPayTime(now);
} }
// 1. 同步 Redis // 1. 同步 Redis
goblinRedisUtils.setGoblinOrder(orderId, storeOrderVo); goblinRedisUtils.setGoblinOrder(orderId, storeOrderVo);
// 2. 同步 MongoDB // 2. 同步 MongoDB
goblinMongoUtils.updateGoblinStoreOrderVo(orderId, storeOrderVo); goblinMongoUtils.updateGoblinStoreOrderVo(orderId, storeOrderVo);
// 3. 同步 MySQL (复用下单 MQ 发送 Update 语句) // 3. 同步 MySQL (复用下单 MQ 发送 Update 语句)
String sql; String sql;
Object[] data; Object[] data;
if (status == 1) { if (zhengzaiStatus == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
sql = "UPDATE goblin_store_order SET status = ?, pay_time = ?, updated_at = ? WHERE order_id = ?"; sql = "UPDATE goblin_store_order SET status = ?, pay_time = ?, updated_at = ? WHERE order_id = ?";
data = new Object[]{status, now, now, orderId}; data = new Object[]{zhengzaiStatus, storeOrderVo.getPayTime(), now, orderId};
} else { } else {
sql = "UPDATE goblin_store_order SET status = ?, updated_at = ? WHERE order_id = ?"; sql = "UPDATE goblin_store_order SET status = ?, updated_at = ? WHERE order_id = ?";
data = new Object[]{status, now, orderId}; data = new Object[]{zhengzaiStatus, now, orderId};
} }
LinkedList<String> sqls = new LinkedList<>(); java.util.LinkedList<String> sqls = new java.util.LinkedList<>();
sqls.add(sql); sqls.add(sql);
LinkedList<Object[]> sqlData = new LinkedList<>(); java.util.LinkedList<Object[]> sqlData = new java.util.LinkedList<>();
sqlData.add(data); sqlData.add(data);
if (queueUtils != null) { if (queueUtils != null) {
...@@ -632,4 +637,48 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService { ...@@ -632,4 +637,48 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
com.liquidnet.service.base.SqlMapping.gets(sqls, sqlData)); com.liquidnet.service.base.SqlMapping.gets(sqls, sqlData));
} }
} }
/**
* goblin_sqb_order表status 转换成 goblin_store_order表对应status
*
* @param sqbOrderStatus
* @return
*/
private int sqbOrderStatusConvert(Integer sqbOrderStatus) {
if (null == sqbOrderStatus) {
return -1;
}
switch (sqbOrderStatus) {
case 0:
// 0-待支付 -> 对应枚举 ORDER_STATUS_0
return GoblinStatusConst.Status.ORDER_STATUS_0.getValue();
case 1:
// 1-已支付 -> 对应枚举 ORDER_STATUS_2 (代发货)
return GoblinStatusConst.Status.ORDER_STATUS_2.getValue();
case 2:
// 2-已核销 -> 对应枚举 ORDER_STATUS_4 (已完成)
return GoblinStatusConst.Status.ORDER_STATUS_4.getValue();
case 3:
// 3-已退款 -> 对应枚举 ORDER_STATUS_6 (退款通过)
return GoblinStatusConst.Status.ORDER_STATUS_6.getValue();
case 4:
// 4-退款中 -> 对应枚举 ORDER_STATUS_61 (发起-退款)
return GoblinStatusConst.Status.ORDER_STATUS_61.getValue();
case 5:
// 5-已取消 -> 对应枚举 ORDER_STATUS_5
return GoblinStatusConst.Status.ORDER_STATUS_5.getValue();
case 9:
// 9-失败 -> 这里归类为 ORDER_STATUS_5 (取消/终态),如有特殊需求可调整
return sqbOrderStatus;
default:
return sqbOrderStatus;
}
}
} }
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