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

Commit 38fefa1a authored by jiangxiulong's avatar jiangxiulong

order refund

parent 5ee545ff
package com.liquidnet.service.kylin.service;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 订单退款表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-05-26
*/
public interface IKylinOrderRefundsService extends IService<KylinOrderRefunds> {
}
package com.liquidnet.service.kylin.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 订单退款表
* </p>
*
* @author jiangxiulong
* @since 2021-05-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinOrderRefunds implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* order_refunds_id
*/
private String orderRefundsId;
/**
* 演出 id
*/
private String performanceId;
/**
* 商户id
*/
private String merchantId;
/**
* 票务订单id
*/
private String orderId;
/**
* 商品订单id
*/
private String matterId;
/**
* 管理员id
*/
private String adminId;
/**
* 管理员名称
*/
private String adminName;
/**
* 退款原因
*/
private String reason;
/**
* 批次从1开始
*/
private Integer batch;
/**
* 下单方式
*/
private String orderType;
/**
* 选择支付方式
*/
private String payType;
/**
* 实际支付方式
*/
private String paymentType;
/**
* 订单入场人/搭售款式表
*/
private String refundTable;
/**
* 票务/商品/快递费
*/
private String refundType;
/**
* 订单入场人/搭售款式表 id
*/
private String refundTableId;
/**
* 演出/商品 id
*/
private String refundTypeParentId;
/**
* 票种/款式 id
*/
private String refundTypeId;
/**
* 2关闭或者取消退款3正在退款,4已退款
*/
private Integer refundStatus;
/**
* 数量
*/
private Integer refundNumber;
/**
* 退款金额 快递费有可能为负,意思是补差价
*/
private BigDecimal refundPrice;
/**
* 使用了兑换券/优惠券/无使用
*/
private String couponType;
/**
* 优惠券id
*/
private String couponId;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
/**
* 退款备注
*/
private String refundRemark;
/**
* 退款单号
*/
private String refundCode;
/**
* 退款表refunds的id
*/
private String refundId;
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 订单退款表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-05-26
*/
public interface KylinOrderRefundsMapper extends BaseMapper<KylinOrderRefunds> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper">
</mapper>
package com.liquidnet.service.kylin.service.impl.admin;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds;
import com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 订单退款表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-05-26
*/
@Service
public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsMapper, KylinOrderRefunds> implements IKylinOrderRefundsService {
}
package com.liquidnet.service.kylin.service.impl.admin;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.JsonNode;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.entity.KylinRefunds;
import com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketStatusMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.mapper.KylinRefundsMapper;
import com.liquidnet.service.kylin.service.IKylinRefundsService;
import org.apache.http.HttpException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* <p>
* 退款表 服务实现类
* </p>
*
* @author jiaangxiulong
* @since 2021-05-26
*/
@Service
public class KylinRefundsStatusServiceImpl extends ServiceImpl<KylinRefundsMapper, KylinRefunds> implements IKylinRefundsService {
@Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Autowired
private KylinOrderTicketStatusMapper kylinOrderTicketStatusMapper;
@Autowired
private KylinOrderRefundsMapper kylinOrderRefundsMapper;
public void orderTicketRefunding(int authId, String authName, String orderTicketsId, JsonNode ticketEntityIds, String reason, String remark, Integer batch_id) throws HttpException {
/*KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
new UpdateWrapper<KylinOrderTickets>().eq("order_tickets_id", orderTicketsId)
);
KylinOrderTicketStatus orderStatus = kylinOrderTicketStatusMapper.selectOne(
new UpdateWrapper<KylinOrderTicketStatus>().eq("order_id", orderTicketsId)
);
// 订单状态,已支付(其它情况)、已关闭(超时支付、已支付但出票失败等情况)
Integer[] statusArr = {KylinTableStatusConst.STATUS_PAID, KylinTableStatusConst.STATUS_CLOSE, KylinTableStatusConst.STATUS_DELETE};
Set<String> set = new HashSet(Arrays.asList(statusArr));
if (!set.contains(orderStatus.getStatus())) {
throw new HttpException("订单状态信息有误");
}
// 订单支付状态需为已支付
if (orderStatus.getPayStatus() != 1) {
throw new HttpException("订单支付信息有误");
}
// 该订单正在退款或已有退款
int refundingCount = kylinOrderRefundsMapper.selectCount(
new UpdateWrapper<KylinOrderRefunds>().eq("order_id", orderTicketsId)
.eq("order_type", "order_ticket")
.ne("status", KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL)
);
if (refundingCount > 0) {
throw new HttpException("该订单正在退款或已有退款");
}*/
// 本次退款批次
/*int maxRefundBatch = kylinOrderRefundsMapper.selectCount(
new UpdateWrapper<KylinOrderRefunds>().eq("order_id", orderTicketsId)
.setSql(max)
.ne("status", KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL)
);
$max_refund_batch = OrderRefund::onWriteConnection()->where('order_id', $order_id)->max('batch');
$batch = $max_refund_batch ? $max_refund_batch + 1 : 1;
# 本次退款总金额
$refund_total_price = 0;*/
}
}
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