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

Commit 357923cb authored by 胡佳晨's avatar 胡佳晨

提交 用户发起退款

parent cb3e3eae
......@@ -45,6 +45,11 @@ public class GoblinOrderSku implements Serializable,Cloneable {
*/
private String spuName;
/**
* 商品图
*/
private String spuPic;
/**
* 款式id
*/
......
......@@ -801,5 +801,7 @@ create table goblin_store_market_purchasing
) engine = InnoDB comment '营销秒杀表[活动]';
alter table goblin_order_sku add spu_name varchar(255) default '' comment 'spu名称';
alter table goblin_order_sku add spu_pic varchar(255) default '' comment 'spu图片';
alter table goblin_store_order add store_name varchar(255) default '' comment '商铺名称';
alter table goblin_back_order add back_price_express decimal (8,2) default 0 comment '退款快递费';
\ No newline at end of file
......@@ -243,7 +243,8 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
orderSku.setSkuSpecs(JSON.toJSONString(skuVo.getSkuSpecList()));
orderSku.setPriceVoucher(priceBase.subtract(price));
orderSku.setCreatedAt(now);
//todo hujiachen 需要记录spu名称和图片
orderSku.setSpuName(spuVo.getName());
orderSku.setSpuPic(spuVo.getCoverPic());
goblinOrderSkuList.add(orderSku);
}
//优惠券
......@@ -376,7 +377,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
LinkedList<Object[]> sqlDataAttr = CollectionUtil.linkedListObjectArr();
for (GoblinOrderSku orderSku : item.getOrderSkuList()) {
sqlDataSku.add(new Object[]{
orderSku.getOrderSkuId(), orderSku.getOrderId(), orderSku.getSpuId(), orderSku.getSpuName(), orderSku.getSkuId(), orderSku.getNum(), orderSku.getSkuPrice(), orderSku.getSkuPriceActual(), orderSku.getSkuName(),
orderSku.getOrderSkuId(), orderSku.getOrderId(), orderSku.getSpuId(), orderSku.getSpuName(), orderSku.getSpuPic(), orderSku.getSkuId(), orderSku.getNum(), orderSku.getSkuPrice(), orderSku.getSkuPriceActual(), orderSku.getSkuName(),
orderSku.getSkuNo(), orderSku.getSkuImage(), orderSku.getSkuSpecs(), orderSku.getPriceVoucher(), orderSku.getCreatedAt()
});
//订单 orderSku Vo
......@@ -388,7 +389,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
}
GoblinStoreOrder storeOrder = item.getStoreOrder();
sqlDataOrder.add(new Object[]{
storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(),storeOrder.getStoreName(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(),
storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(), storeOrder.getStoreName(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(),
storeOrder.getPriceActual(), storeOrder.getPriceRefund(), storeOrder.getPriceExpress(), storeOrder.getPriceCoupon(), storeOrder.getPriceVoucher(), storeOrder.getStatus(), storeOrder.getUcouponId(), storeOrder.getPayType(), storeOrder.getDeviceFrom(),
storeOrder.getSource(), storeOrder.getVersion(), storeOrder.getIsMember(), storeOrder.getOrderType(), storeOrder.getWriteOffCode(), storeOrder.getPayCountdownMinute(), storeOrder.getIpAddress(), storeOrder.getPayCode(), storeOrder.getCreatedAt()
});
......@@ -581,7 +582,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
for (String orderSkuVoIds : skuList) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuVoIds);
//增加销量
redisUtils.incrSkuSaleCount(orderSkuVo.getSpuId(),orderSkuVo.getSkuId(), orderSkuVo.getNum());
redisUtils.incrSkuSaleCount(orderSkuVo.getSpuId(), orderSkuVo.getSkuId(), orderSkuVo.getNum());
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_2.getValue());
//redis
redisUtils.setGoblinOrderSku(orderSkuVo.getOrderSkuId(), orderSkuVo);
......
......@@ -112,6 +112,12 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
BigDecimal sub = backOrderVo.getBackPriceExpress().subtract(refundPrice);
backOrderVo.setBackPriceExpress(refundPrice);
backOrderVo.setRealBackPrice(backOrderVo.getRealBackPrice().subtract(sub));
//添加日志
GoblinBackOrderLog backOrderLog = initBackLog(backOrderId, uid, now);
backOrderLog.setStatus(GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue());
backOrderLog.setOperationType(GoblinStatusConst.Type.OPERATION_TYPE_2.getValue());
backOrderLog.setMessage("商户退款-修改快递费:backOrderId=[" + backOrderId + "],refundPrice=[" + refundPrice + "]");
//redis
redisUtils.setBackOrderVo(backOrderId, backOrderVo);
//mongo
......@@ -124,6 +130,14 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
backOrderId, now, now
)
);
//添加日志
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.store.refundLog",
backOrderLog.getBackOrderLogId(), backOrderLog.getBackOrderId(), backOrderLog.getOperationType(),
backOrderLog.getMessage(), backOrderLog.getOperationName(), backOrderLog.getStatus(), now
)
);
return ResponseDto.success();
}
......@@ -137,6 +151,11 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
}
GoblinBackOrderVo backOrderVo = redisUtils.getBackOrderVo(backOrderId);
backOrderVo.setStatus(GoblinStatusConst.Status.ORDER_BACK_STATUS_0.getValue());
//添加日志
GoblinBackOrderLog backOrderLog = initBackLog(backOrderId, uid, now);
backOrderLog.setStatus(GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue());
backOrderLog.setOperationType(GoblinStatusConst.Type.OPERATION_TYPE_2.getValue());
backOrderLog.setMessage("商户退款-同意退款:backOrderId=[" + backOrderId + "]");
//调用退款
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(backOrderId);
String returnString = initRefund(orderVo, backOrderVo.getRealBackPrice(), backOrderVo.getBackCode());
......@@ -160,6 +179,14 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
backOrderId, now, now
)
);
//添加日志
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.store.refundLog",
backOrderLog.getBackOrderLogId(), backOrderLog.getBackOrderId(), backOrderLog.getOperationType(),
backOrderLog.getMessage(), backOrderLog.getOperationName(), backOrderLog.getStatus(), now
)
);
return ResponseDto.success();
}
......@@ -173,6 +200,11 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
}
GoblinBackOrderVo backOrderVo = redisUtils.getBackOrderVo(backOrderId);
backOrderVo.setStatus(GoblinStatusConst.Status.ORDER_BACK_STATUS_3.getValue());
//添加日志
GoblinBackOrderLog backOrderLog = initBackLog(backOrderId, uid, now);
backOrderLog.setStatus(GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue());
backOrderLog.setOperationType(GoblinStatusConst.Type.OPERATION_TYPE_2.getValue());
backOrderLog.setMessage("商户退款-拒绝退款:backOrderId=[" + backOrderId + "]");
//redis
redisUtils.setBackOrderVo(backOrderId, backOrderVo);
//mongo
......@@ -185,6 +217,14 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
backOrderId, now, now
)
);
//添加日志
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.store.refundLog",
backOrderLog.getBackOrderLogId(), backOrderLog.getBackOrderId(), backOrderLog.getOperationType(),
backOrderLog.getMessage(), backOrderLog.getOperationName(), backOrderLog.getStatus(), now
)
);
return ResponseDto.success();
}
......@@ -206,6 +246,11 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
}
}
backOrderVo.setRealBackPrice(backOrderVo.getRealBackPrice().subtract(sub));
//添加日志
GoblinBackOrderLog backOrderLog = initBackLog(backOrderId, uid, now);
backOrderLog.setStatus(GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue());
backOrderLog.setOperationType(GoblinStatusConst.Type.OPERATION_TYPE_2.getValue());
backOrderLog.setMessage("商户退款-修改sku价格:backOrderId=[" + backOrderId + "],refundPrice=["+refundPrice+"],orderSkuId=["+orderSkuId+"]");
//redis
redisUtils.setBackOrderVo(backOrderId, backOrderVo);
//mongo
......@@ -218,9 +263,26 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
backOrderId, now, now
)
);
//添加日志
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.store.refundLog",
backOrderLog.getBackOrderLogId(), backOrderLog.getBackOrderId(), backOrderLog.getOperationType(),
backOrderLog.getMessage(), backOrderLog.getOperationName(), backOrderLog.getStatus(), now
)
);
return ResponseDto.success();
}
private GoblinBackOrderLog initBackLog(String orderId, String uid, LocalDateTime now) {
GoblinBackOrderLog log = GoblinBackOrderLog.getNew();
log.setBackOrderId(orderId);
log.setOperationName(uid);
log.setBackOrderLogId(IDGenerator.nextTimeId2());
log.setCreatedAt(now);
return log;
}
private String initRefund(GoblinStoreOrderVo orderVo, BigDecimal price, String refundCode) {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("code", orderVo.getPayCode());
......
......@@ -373,7 +373,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
orderSkuVoList.add(backOrderSkuVo);
backOrderVo.setBackOrderSkuVos(orderSkuVoList);
//添加日志
GoblinBackOrderLog backOrderLog = initBackLog(orderId, uid, now);
GoblinBackOrderLog backOrderLog = initBackLog(goblinBackOrder.getBackOrderId(), uid, now);
backOrderLog.setStatus(GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue());
backOrderLog.setOperationType(GoblinStatusConst.Type.OPERATION_TYPE_2.getValue());
backOrderLog.setMessage("商户发起:orderSkuId=[" + orderSkuId + "],price=[" + price + "],[refundCode=" + refundCode + "]");
......
......@@ -52,7 +52,7 @@ goblin.self.market.delSpuRelation=UPDATE goblin_marketing_zhengzai SET del_flag
#---- 订单创建&支付
goblin.order.create.order_insert=INSERT INTO goblin_store_order (`master_order_code`,`order_id`,`store_id`,`store_name`,`order_code`,`user_id`,`user_name`,`user_mobile`,`price_total`,`price_actual`,`price_refund`,`price_express`,`price_coupon`,`price_voucher`,`status`,`ucoupon_id`,`pay_type`,`device_from`,`source`,`version`,`is_member`,`order_type`,`write_off_code`,`pay_countdown_minute`,`ip_address`,`pay_code`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin.order.create.attr_insert=INSERT INTO goblin_order_attr (`order_attr_id`,`order_id`,`express_contacts`,`express_address`,`express_address_detail`,`express_phone`,`express_type`,`created_at`) VALUES (?,?,?,?,?,?,?,?)
goblin.order.create.sku_insert=INSERT INTO goblin_order_sku (`order_sku_id`,`order_id`,`spu_id`,`spu_name`,`sku_id`,`num`,`sku_price`,`sku_price_actual`,`sku_name`,`sku_no`,`sku_image`,`sku_specs`,`price_voucher`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin.order.create.sku_insert=INSERT INTO goblin_order_sku (`order_sku_id`,`order_id`,`spu_id`,`spu_name`,`spu_pic`,`sku_id`,`num`,`sku_price`,`sku_price_actual`,`sku_name`,`sku_no`,`sku_image`,`sku_specs`,`price_voucher`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_order.pay.order=UPDATE goblin_store_order SET payment_type = ? ,payment_id=?,pay_code = ? ,pay_time = ?,write_off_code = ? ,status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
goblin_order.pay.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WHERE order_sku_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
#---- 再次支付
......
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