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

Commit a860cd73 authored by jiangxiulong's avatar jiangxiulong

提交退款 手续费处理 快递下单判断 快递费不处理

parent 9be51f70
......@@ -32,7 +32,7 @@ public class KylinTableStatusConst {
public static final Integer ORDER_REFUND_STATUS_CANCEL = 2; // 取消退款
public static final Integer ORDER_REFUND_STATUS_REFUNDING = 3; // 正在退款
public static final Integer ORDER_REFUND_STATUS_REFUNDED = 4; // 完成退款
public static final Integer ORDER_REFUND_STATUS_REJECT = 5; // 一审驳回退款
public static final Integer ORDER_REFUND_STATUS_REJECT = 5; // 一审驳回退款 等同取消
public static final Integer ORDER_REFUND_STATUS_ERROR = 6; // 退款失败
public static final Integer ORDER_REFUND_STATUS_UNFILLED = 7; // 二审同意 等待退款
public static final Integer ORDER_REFUND_STATUS_REFUSE = 8; // 二审拒绝
......
......@@ -3,15 +3,27 @@ package com.liquidnet.service.kylin.dto.vo.mongo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@ApiModel
@Data
public class KylinOrderRefundPicVo {
public class KylinOrderRefundPicVo implements Serializable, Cloneable {
private static final long serialVersionUID = -8439335893689659109L;
private Integer mid;
private String refundPicId;
private String orderRefundsId;
private String picUrl;
private String createdAt;
private String updatedAt;
private static final KylinOrderRefundPicVo obj = new KylinOrderRefundPicVo();
public static KylinOrderRefundPicVo getNew() {
try {
return (KylinOrderRefundPicVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderRefundPicVo();
}
}
}
......@@ -59,6 +59,9 @@ public class KylinOrderRefundsVo implements Serializable,Cloneable {
@ApiModelProperty(value = "退款快递总金额")
private BigDecimal priceExpress;
@ApiModelProperty(value = "退款扣除的手续费金额")
private BigDecimal priceCharges;
@ApiModelProperty(value = "退款状态: 0请求退款 2取消退款 1审核通过 5驳回退款 7等待退款 3正在退款 4完成退款 6退款失败")
private Integer status;
......
......@@ -46,7 +46,7 @@ public interface IKylinOrderTicketsService {
* @param picList 证据截图
* @return 是否成功
*/
String sendOrderRefund(String orderId, String orderTicketEntitiesId, String reason, String picList, Integer sendExpressType, String expressNumber, String expressContacts, String expressPhone, String sendExpressAddress, String appointmentTime);
ResponseDto sendOrderRefund(String orderId, String orderTicketEntitiesId, String reason, String picList, Integer sendExpressType, String expressNumber, String expressContacts, String expressPhone, String sendExpressAddress, String appointmentTime);
//退款撤回
ResponseDto<Boolean> orderRefundWithdraw(String orderRefundsId);
......
......@@ -371,7 +371,7 @@ public class DataUtils {
vo3.setDay(0);
vo3.setContent("距离演出开始日期≤3天(含演出当天)");
vo3.setPresent(BigDecimal.valueOf(0));
vo3.setIsCanRefund(0);
vo3.setIsCanRefund(1);
voList.add(vo1);
voList.add(vo2);
voList.add(vo3);
......
......@@ -70,6 +70,7 @@ public class KylinOrderRefunds implements Serializable {
*/
private BigDecimal price;
private BigDecimal priceExpress;
private BigDecimal priceCharges;
/**
* 退款状态: 0请求退款 2取消退款 1审核通过 5驳回退款 7等待退款 3正在退款 4完成退款 6退款失败
......
......@@ -781,6 +781,8 @@ CREATE TABLE `kylin_order_refunds`
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci COMMENT ='订单退款表';
alter table kylin_order_refunds add price_charges decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '退款扣除的手续费金额' after price_express;
drop TABLE if exists `kylin_order_refund_entities`;
CREATE TABLE `kylin_order_refund_entities`
(
......
......@@ -110,7 +110,7 @@ public class KylinOrderTicketsController {
@ApiImplicitParam(type = "form", dataType = "String", name = "sendExpressAddress", value = "取件地址"),
@ApiImplicitParam(type = "form", dataType = "String", name = "appointmentTime", value = "预约取件时间")
})
public ResponseDto<HashMap<String, String>> sendOrderRefund(
public ResponseDto sendOrderRefund(
@RequestParam(value = "orderId", required = true) @NotNull(message = "订单ID不能为空") String orderId,
@RequestParam(value = "orderTicketEntitiesId", required = true) @NotNull(message = "票单ID不能为空") String orderTicketEntitiesId,
@RequestParam(value = "reason", required = true) @NotNull(message = "退款原因不能为空") String reason,
......@@ -125,17 +125,10 @@ public class KylinOrderTicketsController {
@RequestParam(value = "appointmentTime", required = false) String appointmentTime
) {
// 退款
String orderRefundId = orderTicketsService.sendOrderRefund(
return orderTicketsService.sendOrderRefund(
orderId, orderTicketEntitiesId, reason, picList,
sendExpressType, expressNumber, expressContacts, expressPhone, sendExpressAddress, appointmentTime
);
if (orderRefundId.length() > 10) {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("orderRefundsId", orderRefundId);
return ResponseDto.success(map);
} else {
return ResponseDto.failure(orderRefundId);
}
}
@GetMapping("orderRefundDetails")
......
......@@ -417,7 +417,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
@Override
public String sendOrderRefund(String orderId, String orderTicketEntitiesId, String reason, String picList, Integer sendExpressType, String expressNumber, String expressContacts, String expressPhone, String sendExpressAddress, String appointmentTime) {
public ResponseDto sendOrderRefund(String orderId, String orderTicketEntitiesId, String reason, String picList, Integer sendExpressType, String expressNumber, String expressContacts, String expressPhone, String sendExpressAddress, String appointmentTime) {
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = null;
try {
String uid = CurrentUtil.getCurrentUid();
......@@ -426,12 +426,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return "无权查看";
return ResponseDto.failure("无权查看");
}
}
if (!orderTicketVo.getPayStatus().equals(1)) {
return "暂不支持退款";
return ResponseDto.failure("暂不支持退款");
}
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
......@@ -455,10 +455,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
&& ticketVo.getCounts() == 1) {
} else {
return "暂不支持退款";
return ResponseDto.failure("暂不支持退款");
}
} else {
return "暂不支持退款";
return ResponseDto.failure("暂不支持退款");
}
List<KylinOrderTicketEntitiesVo> entitiesVos = orderTicketVo.getEntitiesVoList();
......@@ -468,16 +468,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
if (null == orderTicketEntitiesVo) {
return "订单不存在";
return ResponseDto.failure("订单不存在");
}
BigDecimal refundSinglePrice = dataUtils.getCanRefundOrderEntitiesPrice(orderTicketVo, kylinOrderRefundsVoBaseList, orderTicketEntitiesId);
if (refundSinglePrice.compareTo(BigDecimal.ZERO) <= 0) {
return "申请金额不得小于0";
return ResponseDto.failure("申请金额不得小于0");
}
// 手续费处理
ArrayList<OrderRefundPoundage> refundPoundage = dataUtils.getRefundPoundage(performanceVo.getIsRefundPoundage());
BigDecimal priceCharges = BigDecimal.valueOf(0);
if (!CollectionUtils.isEmpty(refundPoundage)) {
// 手续费比例
BigDecimal chargesNum = BigDecimal.valueOf(0);
......@@ -494,71 +495,58 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
LocalDateTime nowTime = LocalDateTime.now();
if (useStartD15Before.isAfter(nowTime)) { // 15天以前的时间大于当前时间 距离演出开始日期>15天
log.info("距离演出开始日期>15天");
log.info("票种演出开始时间 {}", useStartD);
log.info("15天之前的时间 {}", useStartD15Before);
log.info("3天之前的时间 {}", useStartD3Before);
log.info("当前时间 {}", nowTime);
log.info("手续费比例 {}", chargesNum);
int isCanRefund = refundPoundage.get(0).getIsCanRefund();
if (isCanRefund > 0) {
chargesNum = refundPoundage.get(0).getPresent();
} else {
return "当前日期不支持退票";
return ResponseDto.failure("当前日期不支持退票");
}
} else if (useStartD3Before.isAfter(nowTime)) { // 3天以前的时间大于当前时间 距离演出开始日期>3天-15天 含15天
log.info("距离演出开始日期3-15天");
log.info("票种演出开始时间 {}", useStartD);
log.info("15天之前的时间 {}", useStartD15Before);
log.info("3天之前的时间 {}", useStartD3Before);
log.info("当前时间 {}", nowTime);
log.info("手续费比例 {}", chargesNum);
int isCanRefund = refundPoundage.get(1).getIsCanRefund();
if (isCanRefund > 0) {
chargesNum = refundPoundage.get(1).getPresent();
} else {
return "当前日期不支持退票";
return ResponseDto.failure("当前日期不支持退票");
}
} else { // 三天以内 <=3
log.info("距离演出开始日期<=3");
log.info("票种演出开始时间 {}", useStartD);
log.info("15天之前的时间 {}", useStartD15Before);
log.info("3天之前的时间 {}", useStartD3Before);
log.info("当前时间 {}", nowTime);
log.info("手续费比例 {}", chargesNum);
int isCanRefund = refundPoundage.get(2).getIsCanRefund();
if (isCanRefund > 0) {
chargesNum = refundPoundage.get(2).getPresent();
} else {
return "当前日期不支持退票";
return ResponseDto.failure("当前日期不支持退票");
}
}
BigDecimal multiply = refundSinglePrice.multiply(chargesNum);
log.info("multiply {}", multiply);
refundSinglePrice = refundSinglePrice.subtract(multiply);
log.info("去除手续费申请金额 {}", refundSinglePrice);
priceCharges = refundSinglePrice.multiply(chargesNum).setScale(2, BigDecimal.ROUND_HALF_UP);
refundSinglePrice = refundSinglePrice.subtract(priceCharges);
if (refundSinglePrice.compareTo(BigDecimal.ZERO) <= 0) {
return "申请金额不得小于0";
// return "去除手续费申请金额不得小于0";
return ResponseDto.failure("申请金额不得小于0哦~");
}
} else{
log.info("演出id1111 {}", orderTicketVo.getPerformanceId());
}
// 临时手续费 end
// 快递费 现在只有到付 不作处理
// 如果后期有这种情况 需要判断是否是最后一张入场人票 然后减去已经退的快递费 计算进来即可
BigDecimal priceExpress = BigDecimal.valueOf(0);
Map token = CurrentUtil.getTokenClaims();
String username = StringUtils.defaultString(((String) token.get("nickname")), "");
String result = refundsStatusService.userOrderTicketRefunding(orderTicketVo, refundSinglePrice.doubleValue(), orderTicketEntitiesId, reason, picList, uid, username, kylinOrderRefundsVoBaseList.size());
if (result != "") {
String orderRefundId = refundsStatusService.userOrderTicketRefunding(orderTicketVo, refundSinglePrice, priceExpress, priceCharges, orderTicketEntitiesId, reason, picList, uid, username, kylinOrderRefundsVoBaseList.size());
if (!orderRefundId.isEmpty()) {
// 退款申请成功 异步去快递下单
expressPlace(sendExpressType, expressNumber, expressContacts, expressPhone, sendExpressAddress, appointmentTime, orderTicketVo, performanceVo);
return result;
if (orderTicketVo.getGetTicketType().equals("express") && sendExpressType > 0) {// 快递票
expressPlace(sendExpressType, expressNumber, expressContacts, expressPhone, sendExpressAddress, appointmentTime, orderTicketVo, performanceVo);
}
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("orderRefundsId", orderRefundId);
return ResponseDto.success(map);
} else {
return "申请失败";
return ResponseDto.failure("申请失败");
}
} catch (Exception e) {
e.printStackTrace();
return "申请失败";
log.error("sendOrderRefundException e:[{}]", e);
return ResponseDto.failure("申请失败");
}
}
......
......@@ -52,7 +52,9 @@ public class KylinRefundsStatusServiceImpl {
public String userOrderTicketRefunding(
KylinOrderTicketVo orderInfo,
double refundPrice,
BigDecimal refundPrice,
BigDecimal priceExpress,
BigDecimal priceCharges,
String orderEntitiesId,
String reason,
String picList,
......@@ -62,41 +64,30 @@ public class KylinRefundsStatusServiceImpl {
) {
try {
LocalDateTime time = LocalDateTime.now();
String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time);
// 订单状态表 缓存
KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus();
String strTime = DateUtil.getNowTime();
// 订单状态表 缓存
KylinOrderTicketStatus orderStatusTable = KylinOrderTicketStatus.getNew();
orderStatusTable.setStatus(KylinTableStatusConst.ORDER_STATUS3);
orderStatusTable.setUpdatedAt(time);
KylinOrderTicketVo kylinOrderTicketVo = KylinOrderTicketVo.getNew();
kylinOrderTicketVo.setStatus(KylinTableStatusConst.ORDER_STATUS3);
kylinOrderTicketVo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(time));
kylinOrderTicketVo.setUpdatedAt(strTime);
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo)));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderInfo.getOrderTicketsId())).getQueryObject(),
orderObject
);
dataUtils.delOrderTicketRedis(orderInfo.getOrderTicketsId());
log.info("orderInfo.getUserId() = "+ orderInfo.getUserId());
// 订单入场人表 和 缓存
KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities();
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
entitiesTable.setUpdatedAt(time);
// BigDecimal oldRefundPrice = BigDecimal.valueOf(0);
// for (KylinOrderTicketEntitiesVo item :orderInfo.getEntitiesVoList()) {
// if(item.getOrderTicketEntitiesId().equalsIgnoreCase(orderEntitiesId)){
// oldRefundPrice = item.getRefundPrice();
// break;
// }
// }
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
// kylinOrderTicketEntitiesVo.setRefundPrice(oldRefundPrice.add(BigDecimal.valueOf(refundPrice)));
kylinOrderTicketEntitiesVo.setUpdatedAt(strTime);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
......@@ -115,21 +106,16 @@ public class KylinRefundsStatusServiceImpl {
String orderRefundCode = orderInfo.getOrderCode();
String codeNum = StringUtils.leftPad(String.valueOf(refundCount), 3, "0");
kylinOrderRefunds.setOrderRefundCode(orderRefundCode.concat(codeNum));
kylinOrderRefunds.setPrice(BigDecimal.valueOf(refundPrice));
kylinOrderRefunds.setPriceExpress(orderInfo.getPriceExpress());
kylinOrderRefunds.setPrice(refundPrice);
kylinOrderRefunds.setPriceExpress(priceExpress);
kylinOrderRefunds.setPriceCharges(priceCharges);
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY);
kylinOrderRefunds.setType(KylinTableStatusConst.ORDER_REFUND_TYPE_APPLY);
kylinOrderRefunds.setApplicantId(uid);
kylinOrderRefunds.setApplicantName(username);
kylinOrderRefunds.setApplicantAt(time);
kylinOrderRefunds.setReason(reason);
if (orderInfo.getPriceExpress().doubleValue() > 0 && refundPrice > 0) {
kylinOrderRefunds.setRefundCate(KylinTableStatusConst.ORDER_REFUND_CATE3);
} else if (orderInfo.getPriceExpress().doubleValue() > 0) {
kylinOrderRefunds.setRefundCate(KylinTableStatusConst.ORDER_REFUND_CATE2);
} else if (refundPrice > 0) {
kylinOrderRefunds.setRefundCate(KylinTableStatusConst.ORDER_REFUND_CATE1);
}
kylinOrderRefunds.setRefundCate(KylinTableStatusConst.ORDER_REFUND_CATE1);
kylinOrderRefunds.setCreatedAt(time);
KylinOrderRefundsVo orderRefundsVo = KylinOrderRefundsVo.getNew();
......@@ -140,11 +126,11 @@ public class KylinRefundsStatusServiceImpl {
// 退款入场人表
KylinOrderRefundEntities kylinOrderRefundEntities = new KylinOrderRefundEntities();
KylinOrderRefundEntities kylinOrderRefundEntities = KylinOrderRefundEntities.getNew();
String orderRefundsEntitiesId = IDGenerator.nextSnowId();
kylinOrderRefundEntities.setOrderRefundsEntitiesId(orderRefundsEntitiesId);
kylinOrderRefundEntities.setOrderRefundsId(orderRefundsId);
kylinOrderRefundEntities.setRefundPrice(BigDecimal.valueOf(refundPrice));
kylinOrderRefundEntities.setRefundPrice(refundPrice);
kylinOrderRefundEntities.setOrderTicketEntitiesId(orderEntitiesId);
kylinOrderRefundEntities.setCreatedAt(time);
......@@ -154,18 +140,19 @@ public class KylinRefundsStatusServiceImpl {
mongoTemplate.insert(orderRefundEntitiesVo, KylinOrderRefundEntitiesVo.class.getSimpleName());
//退款图片
KylinOrderRefundPic orderRefundPic = new KylinOrderRefundPic();
KylinOrderRefundPic orderRefundPic = KylinOrderRefundPic.getNew();
orderRefundPic.setRefundPicId(IDGenerator.nextSnowId());
orderRefundPic.setOrderRefundsId(kylinOrderRefunds.getOrderRefundsId());
orderRefundPic.setPicUrl(picList);
orderRefundPic.setCreatedAt(time);
KylinOrderRefundPicVo orderRefundPicVo = new KylinOrderRefundPicVo();
KylinOrderRefundPicVo orderRefundPicVo = KylinOrderRefundPicVo.getNew();
BeanUtils.copyProperties(orderRefundPic, orderRefundPicVo);
orderRefundPicVo.setCreatedAt(strTime);
mongoTemplate.insert(orderRefundPicVo, KylinOrderRefundPicVo.class.getSimpleName());
dataUtils.delOrderRefundVoByOrderId(orderInfo.getOrderTicketsId());
//MQ
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
......@@ -189,7 +176,7 @@ public class KylinRefundsStatusServiceImpl {
});
sqlsDataC.add(new Object[]{
kylinOrderRefunds.getOrderRefundsId(), kylinOrderRefunds.getOrderTicketsId(), kylinOrderRefunds.getOrderRefundCode(),
kylinOrderRefunds.getPrice(), kylinOrderRefunds.getPriceExpress(), kylinOrderRefunds.getStatus(),
kylinOrderRefunds.getPrice(), kylinOrderRefunds.getPriceExpress(), kylinOrderRefunds.getPriceCharges(), kylinOrderRefunds.getStatus(),
kylinOrderRefunds.getType(), kylinOrderRefunds.getApplicantId(), kylinOrderRefunds.getApplicantName(),
kylinOrderRefunds.getApplicantAt(), kylinOrderRefunds.getReason(),
kylinOrderRefunds.getRefundCate(), kylinOrderRefunds.getCreatedAt()
......@@ -207,7 +194,7 @@ public class KylinRefundsStatusServiceImpl {
return kylinOrderRefunds.getOrderRefundsId();
} catch (Exception e) {
e.printStackTrace();
log.error("userOrderTicketRefundingException e:[{}]", e);
return "";
}
}
......
......@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
......@@ -520,29 +521,25 @@ public class DataUtils {
/**
* 获取可退款票单价格
*
* @param orderTicketVo 订单vo数据
* @param orderTicketVo 订单vo数据
* @param orderTicketEntitiesId 票单id
* @return
*/
public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId) {
log.info("orderTicketEntitiesId = " + orderTicketEntitiesId);
//单票实付价格
// 单票实付价格
BigDecimal singlePrice = orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(BigDecimal.valueOf(orderTicketVo.getNumber()));
log.info("singlePrice = " + singlePrice);
//单票剩余未退款金额
BigDecimal canRefundSinglePrice = new BigDecimal("0.00");
// 单票剩余未退款金额
BigDecimal canRefundSinglePrice = BigDecimal.valueOf(0);
for (KylinOrderTicketEntitiesVo item : orderTicketVo.getEntitiesVoList()) {
if (item.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
log.info("item = " + item);
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice() == null ? BigDecimal.valueOf(0.00) : item.getRefundPrice());
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice() == null ? BigDecimal.valueOf(0) : item.getRefundPrice());
}
}
log.info("canRefundSinglePrice = " + canRefundSinglePrice);
//订单锁定金额
BigDecimal orderLockPrice = new BigDecimal("0.00");
// 订单锁定金额
BigDecimal orderLockPrice = BigDecimal.valueOf(0);
for (KylinOrderRefundsVo refundVo : kylinOrderRefundsVoBaseList) {
int status = refundVo.getStatus();
if (status == 0 || status == 1 || status == 3 || status == 6 || status == 7 || status == 8) { //退款流程未完成 金额锁定
if (status != KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL && status != KylinTableStatusConst.ORDER_REFUND_STATUS_REJECT) { //退款流程未完成 金额锁定
List<KylinOrderRefundEntitiesVo> refundEntitiesVos = refundVo.getOrderRefundEntitiesVoList();
for (KylinOrderRefundEntitiesVo refundEntitiesVo : refundEntitiesVos) {
if (refundEntitiesVo.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
......@@ -551,13 +548,8 @@ public class DataUtils {
}
}
}
log.info("orderLockPrice = " + orderLockPrice);
//订单可退金额
// 订单可退金额
BigDecimal refundSinglePrice = canRefundSinglePrice.subtract(orderLockPrice);
//是否包含快递费
if (orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).subtract(orderTicketVo.getPriceRefund()).compareTo(canRefundSinglePrice) == 0) {
refundSinglePrice = refundSinglePrice.add(orderTicketVo.getPriceExpress());
}
return refundSinglePrice;
}
......
......@@ -28,7 +28,7 @@ kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_pay
# ------------------------用户发起订单退款----------------------------
kylin_order_ticket_status.refund=UPDATE kylin_order_ticket_status SET status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_order_ticket_entities.refund=UPDATE kylin_order_ticket_entities SET is_payment = ? ,updated_at = ? WHERE order_ticket_entities_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_order_refund.refund=INSERT INTO kylin_order_refunds (order_refunds_id,order_tickets_id,order_refund_code,price,price_express,status,type,applicant_id,applicant_name,applicant_at,reason,refund_cate,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_order_refund.refund=INSERT INTO kylin_order_refunds (order_refunds_id,order_tickets_id,order_refund_code,price,price_express,price_charges,status,type,applicant_id,applicant_name,applicant_at,reason,refund_cate,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_order_refund_entities.refund=INSERT INTO kylin_order_refund_entities (order_refunds_entities_id,order_refunds_id,refund_price,order_ticket_entities_id,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_refund.refundOrderExpress=INSERT INTO kylin_order_express (order_express_id,performances_id,order_tickets_id,order_express_code,mailno,express_type,filter_result,remark,express_status,send_type,send_express_type,express_contacts,express_phone,send_express_address,appointment_time,pro_name,cargo_type_code,limit_type_code,express_type_code,goods_value_total,goods_number,created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
......
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