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

Commit a027a2bd authored by 胡佳晨's avatar 胡佳晨

提交 二维码

parent 66a0600e
...@@ -115,7 +115,14 @@ public class KylinOrderTicketsController { ...@@ -115,7 +115,14 @@ public class KylinOrderTicketsController {
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderRefundVo> orderRefundDetails(@RequestParam(value = "orderId", required = true) @NotNull(message = "订单id不能为空") String orderId, public ResponseDto<OrderRefundVo> orderRefundDetails(@RequestParam(value = "orderId", required = true) @NotNull(message = "订单id不能为空") String orderId,
@RequestParam(value = "orderRefundId", required = true) @NotNull(message = "退款订单id不能为空") String orderRefundId) { @RequestParam(value = "orderRefundId", required = true) @NotNull(message = "退款订单id不能为空") String orderRefundId) {
return ResponseDto.success(orderTicketsService.orderRefundDetails(orderId,orderRefundId)); return ResponseDto.success(orderTicketsService.orderRefundDetails(orderId, orderRefundId));
}
@PostMapping("sendOrderRefund")
@ApiOperation("发起退款申请")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> orderRefundWithdraw(@RequestParam(value = "orderRefundId", required = true) @NotNull(message = "退款订单id不能为空") String orderRefundId) {
return orderTicketsService.orderRefundWithdraw(orderRefundId) == null ? ResponseDto.failure() : ResponseDto.success();
} }
......
...@@ -990,7 +990,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -990,7 +990,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketVo.setFieldName(performanceVo.getFieldName()); orderTicketVo.setFieldName(performanceVo.getFieldName());
if (ticketVo.getIsShowCode() == 1) { if (ticketVo.getIsShowCode() == 1) {
Date date = DateUtil.parse(ticketVo.getQrCodeShowTime(), DateUtil.Formatter.yyyyMMddHHmmss.toString()); Date date = DateUtil.parse(ticketVo.getQrCodeShowTime(), DateUtil.Formatter.yyyyMMddHHmmss.toString());
if (DateUtil.compareDay(DateUtil.now(), date) <= 0) { if (DateUtil.now().compareTo(date)>= 0) {
orderTicketVo.setQrCode(orderTicketVo.getQrCode()); orderTicketVo.setQrCode(orderTicketVo.getQrCode());
} else { } else {
orderTicketVo.setQrCode(""); orderTicketVo.setQrCode("");
...@@ -1032,7 +1032,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1032,7 +1032,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
vo.setKuaidi_status(-2); vo.setKuaidi_status(-2);
} }
if (null!=performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) { if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) {
Date refundOpenDate = DateUtil.parse(performanceVo.getRefundOpenTime(), "yyyy-MM-dd HH:mm:ss"); Date refundOpenDate = DateUtil.parse(performanceVo.getRefundOpenTime(), "yyyy-MM-dd HH:mm:ss");
Date refundCloseDate = DateUtil.parse(performanceVo.getRefundCloseTime(), "yyyy-MM-dd HH:mm:ss"); Date refundCloseDate = DateUtil.parse(performanceVo.getRefundCloseTime(), "yyyy-MM-dd HH:mm:ss");
if (DateUtil.compareDay(nowDate, refundCloseDate) < 0 && DateUtil.compareDay(nowDate, refundOpenDate) > 0) { if (DateUtil.compareDay(nowDate, refundCloseDate) < 0 && DateUtil.compareDay(nowDate, refundOpenDate) > 0) {
...@@ -1283,107 +1283,144 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1283,107 +1283,144 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override @Override
public Boolean orderRefundWithdraw(String orderRefundsId) { public Boolean orderRefundWithdraw(String orderRefundsId) {
KylinOrderRefundsVoBase orderRefundsVo = dataUtils.getOrderRefundVo(orderRefundsId); LinkedList<String> sqls = new LinkedList<>();
List<KylinOrderRefundEntitiesVo> refundEntities = orderRefundsVo.getOrderRefundEntitiesVoList(); LinkedList<Object[]> sqlsDataA = new LinkedList<>();
String orderTicketsId = orderRefundsVo.getOrderTicketsId(); LinkedList<Object[]> sqlsDataB = new LinkedList<>();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderTicketsId); LinkedList<Object[]> sqlsDataC = new LinkedList<>();
// 更新数据 LocalDateTime time = LocalDateTime.now();
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败) String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time);
int newStatus; try {
int refundingCount = 0; KylinOrderRefundsVoBase orderRefundsVo = dataUtils.getOrderRefundVo(orderRefundsId);
List<KylinOrderRefundsVoBase> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderTicketsId); List<KylinOrderRefundEntitiesVo> refundEntities = orderRefundsVo.getOrderRefundEntitiesVoList();
for (KylinOrderRefundsVoBase item : orderRefundsVoList) { String orderTicketsId = orderRefundsVo.getOrderTicketsId();
int status = item.getStatus(); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderTicketsId);
if (status != 2 && status != 4 && status != 6) {
refundingCount += 1; // 更新数据
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
int newStatus;
int refundingCount = 0;
List<KylinOrderRefundsVoBase> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderTicketsId);
for (KylinOrderRefundsVoBase item : orderRefundsVoList) {
int status = item.getStatus();
if (status != 2 && status != 4 && status != 6) {
refundingCount += 1;
}
} }
}
if (refundingCount > 0) { // 存在其他正在退款的订单 if (refundingCount > 0) { // 存在其他正在退款的订单
newStatus = KylinTableStatusConst.ORDER_STATUS3; newStatus = KylinTableStatusConst.ORDER_STATUS3;
} else {
if (orderTicketVo.getPriceRefund().doubleValue() > 0) { // 已经有退完的 那就是部分退款了
newStatus = KylinTableStatusConst.ORDER_STATUS6;
} else if (orderTicketVo.getStatus() != 2) {
newStatus = KylinTableStatusConst.ORDER_STATUS1;
} else { } else {
newStatus = KylinTableStatusConst.ORDER_STATUS2; if (orderTicketVo.getPriceRefund().doubleValue() > 0) { // 已经有退完的 那就是部分退款了
newStatus = KylinTableStatusConst.ORDER_STATUS6;
} else if (orderTicketVo.getStatus() != 2) {
newStatus = KylinTableStatusConst.ORDER_STATUS1;
} else {
newStatus = KylinTableStatusConst.ORDER_STATUS2;
}
} }
}
KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus(); KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus();
orderStatusTable.setStatus(newStatus); orderStatusTable.setStatus(newStatus);
// kylinOrderTicketStatusMapper.update(orderStatusTable, new UpdateWrapper<KylinOrderTicketStatus>() orderStatusTable.setUpdatedAt(time);
// .eq("order_id", orderTicketsId)); sqlsDataA.add(new Object[]{
orderStatusTable.getStatus(), orderStatusTable.getUpdatedAt(), orderTicketsId, orderTicketVo.getChangeDate(), orderTicketVo.getChangeDate()
KylinOrderTicketVo kylinOrderTicketVo = new KylinOrderTicketVo(); });
kylinOrderTicketVo.setStatus(newStatus);
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo))); KylinOrderTicketVo kylinOrderTicketVo = new KylinOrderTicketVo();
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne( kylinOrderTicketVo.setStatus(newStatus);
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(), kylinOrderTicketVo.setUpdatedAt(strTime);
orderObject kylinOrderTicketVo.setChangeDate(time);
); BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo)));
dataUtils.delOrderTicketRedis(orderTicketsId); mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
mongoVoUtils.resetOrderListVo(orderTicketVo.getUserId(), 2, orderTicketsId, null); Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(),
orderObject
// 入场人 );
for (KylinOrderRefundEntitiesVo item : refundEntities) { dataUtils.delOrderTicketRedis(orderTicketsId);
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败) mongoVoUtils.resetOrderListVo(orderTicketVo.getUserId(), 2, orderTicketsId, null);
int newIsPayment = 0;
int refundingEntitiesCount = 0; // 入场人
for (KylinOrderRefundsVoBase item2 :orderRefundsVoList) { for (KylinOrderRefundEntitiesVo item : refundEntities) {
int status = item2.getStatus(); // 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
if(!item2.getOrderRefundsId().equals(orderRefundsId) && (status != 2 && status != 4 && status != 6)){ int newIsPayment = 0;
for(KylinOrderRefundEntitiesVo item3: item2.getOrderRefundEntitiesVoList()){ int refundingEntitiesCount = 0;
if(item3.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())){ for (KylinOrderRefundsVoBase item2 : orderRefundsVoList) {
refundingEntitiesCount+=1; int status = item2.getStatus();
if (!item2.getOrderRefundsId().equals(orderRefundsId) && (status != 2 && status != 4 && status != 6)) {
for (KylinOrderRefundEntitiesVo item3 : item2.getOrderRefundEntitiesVoList()) {
if (item3.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())) {
refundingEntitiesCount += 1;
}
} }
} }
} }
}
if (refundingEntitiesCount > 0) { // 存在其他正在退款的该入场人订单
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT2;
} else {
KylinOrderTicketEntitiesVo entitiesVo = null; KylinOrderTicketEntitiesVo entitiesVo = null;
for (KylinOrderTicketEntitiesVo entitiesVo1 : orderTicketVo.getEntitiesVoList()) { if (refundingEntitiesCount > 0) { // 存在其他正在退款的该入场人订单
if (entitiesVo1.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())) { newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT2;
entitiesVo = entitiesVo1;
break;
}
}
if (entitiesVo.getRefundPrice().doubleValue() > 0) { // 已经有退完的 那就是部分退款了
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT4;
} else { } else {
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT1; for (KylinOrderTicketEntitiesVo entitiesVo1 : orderTicketVo.getEntitiesVoList()) {
if (entitiesVo1.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())) {
entitiesVo = entitiesVo1;
break;
}
}
if (entitiesVo.getRefundPrice().doubleValue() > 0) { // 已经有退完的 那就是部分退款了
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT4;
} else {
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT1;
}
} }
KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities();
entitiesTable.setIsPayment(newIsPayment);
entitiesTable.setUpdatedAt(time);
sqlsDataB.add(new Object[]{
entitiesTable.getIsPayment(), entitiesTable.getUpdatedAt(), item.getOrderTicketEntitiesId(), entitiesVo.getChangeDate(), entitiesVo.getChangeDate()
});
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo();
kylinOrderTicketEntitiesVo.setIsPayment(newIsPayment);
kylinOrderTicketEntitiesVo.setUpdatedAt(strTime);
kylinOrderTicketEntitiesVo.setChangeDate(time);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketEntitiesId").is(item.getOrderTicketEntitiesId())).getQueryObject(),
entitiesObject
);
dataUtils.delOrderTicketEntitiesRedis(item.getOrderTicketEntitiesId());
} }
KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities();
entitiesTable.setIsPayment(newIsPayment); // 退款细节取消
// kylinOrderTicketEntitiesMapper.update(entitiesTable, new UpdateWrapper<KylinOrderTicketEntities>() KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
// .eq("order_ticket_entities_id", entitiesId) kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
// .eq("is_payment", KylinTableStatusConst.ENTITIES_IS_PAYMENT2) kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
// );
KylinOrderRefundsVoBase orderRefundsVoBase = new KylinOrderRefundsVoBase();
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo(); orderRefundsVoBase.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
kylinOrderTicketEntitiesVo.setIsPayment(newIsPayment); orderRefundsVoBase.setUpdatedAt(strTime);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo))); BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVoBase)));
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne( mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketEntitiesId").is(item.getOrderTicketEntitiesId())).getQueryObject(), Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
entitiesObject refundObject
); );
dataUtils.delOrderTicketEntitiesRedis(item.getOrderTicketEntitiesId()); sqlsDataC.add(new Object[]{
} orderRefundsVoBase.getStatus(), orderRefundsVoBase.getUpdatedAt(), orderRefundsId
});
// 退款细节取消 sqls.add(SqlMapping.get("kylin_order_ticket_status.withDraw"));
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds(); sqls.add(SqlMapping.get("kylin_order_ticket_entities.withDraw"));
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL); sqls.add(SqlMapping.get("kylin_order_refund.withDraw"));
kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
// kylinOrderRefundsMapper.update(kylinOrderRefunds, new UpdateWrapper<KylinOrderRefunds>()
// .eq("order_refunds_id", orderRefundsId));
return null; //TODO 生成新QUERY
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC));
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} }
@Override @Override
......
...@@ -464,6 +464,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -464,6 +464,7 @@ public class KylinRefundsStatusServiceImpl {
orderRefundPic.getOrderRefundsId(), orderRefundPic.getOrderRefundsId(), orderRefundPic.getPicUrl(), orderRefundPic.getCreatedAt() orderRefundPic.getOrderRefundsId(), orderRefundPic.getOrderRefundsId(), orderRefundPic.getPicUrl(), orderRefundPic.getCreatedAt()
}); });
//TODO 生成新QUERY
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY, rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD, sqlsDataE)); SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD, sqlsDataE));
......
...@@ -40,5 +40,9 @@ kylin_order_refund_entities.refund=INSERT INTO kylin_order_refund_entities (orde ...@@ -40,5 +40,9 @@ kylin_order_refund_entities.refund=INSERT INTO kylin_order_refund_entities (orde
kylin_order_refund_pic.refund=INSERT INTO kylin_order_refund_pic (refund_pic_id,order_refunds_id,pic_url,created_at) VALUES (?,?,?,?) kylin_order_refund_pic.refund=INSERT INTO kylin_order_refund_pic (refund_pic_id,order_refunds_id,pic_url,created_at) VALUES (?,?,?,?)
# ------------------------用户发起订单退款撤回---------------------------- # ------------------------用户发起订单退款撤回----------------------------
kylin_order_ticket_status.withDraw=UPDATE kylin_order_ticket_status SET status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?)
kylin_order_ticket_entities.withDraw=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ?,sys_damai = 1 WHERE order_id = ? and (updated_at <= ? or created_at = ?)
kylin_order_refund.withDraw=UPDATE kylin_order_refunds SET status = ? ,updated_at = ? WHERE order_refunds_id = ?
# ------------------------用户发起订单退款----------------------------
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