Browse Source

feat 0 支付工程

devlop
yang_shj 4 years ago
parent
commit
7094d2a0a8
  1. 5
      payment-base-app/src/main/java/com/base/springcloud/dao/OrderBillMapper.java
  2. 3
      payment-base-app/src/main/java/com/base/springcloud/dao/OrderMapper.java
  3. 7
      payment-base-app/src/main/java/com/base/springcloud/service/BillService.java
  4. 7
      payment-base-app/src/main/java/com/base/springcloud/service/OrderBillService.java
  5. 23
      payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java
  6. 10
      payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderBillServiceImp.java
  7. 11
      payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java
  8. 12
      payment-base-app/src/main/java/com/base/springcloud/service/imp/RefundServiceImp.java
  9. 7
      payment-base-app/src/main/resources/com/base/payment/mapper/OrderBillMapper.xml
  10. 2
      payment-base-app/src/main/resources/com/base/payment/mapper/OrderMapper.xml

5
payment-base-app/src/main/java/com/base/springcloud/dao/OrderBillMapper.java

@ -1,6 +1,7 @@
package com.base.springcloud.dao;
import com.base.springcloud.entity.OrderBill;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -19,5 +20,7 @@ public interface OrderBillMapper {
int updateByPrimaryKey(OrderBill record);
List<String> getBillId(String orderId);
List<String> getBillId(@Param("orderId") String orderId);
String getOrderId(@Param("billId") String billId);
}

3
payment-base-app/src/main/java/com/base/springcloud/dao/OrderMapper.java

@ -1,6 +1,7 @@
package com.base.springcloud.dao;
import com.base.springcloud.entity.Order;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
@ -25,5 +26,5 @@ public interface OrderMapper {
int updateOrderSuccess(String orderNo);
Order origOrderInfo(String orderNo);
Order origOrderInfo(@Param("orderId") String orderId);
}

7
payment-base-app/src/main/java/com/base/springcloud/service/BillService.java

@ -1,6 +1,7 @@
package com.base.springcloud.service;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.bo.RefundBO;
import com.base.springcloud.bo.SaleBillBO;
import com.base.springcloud.entity.SaleBill;
@ -31,4 +32,10 @@ public interface BillService {
* @param id
*/
void writeOffAmount(String id);
/**
* 退款金额获取
* @param refundBO
*/
void refundFront(RefundBO refundBO);
}

7
payment-base-app/src/main/java/com/base/springcloud/service/OrderBillService.java

@ -20,4 +20,11 @@ public interface OrderBillService {
* @param orderId
*/
List<String> getBillId(String orderId);
/**
* 查询销售单据对应订单
* @param billId
* @return
*/
String queryOrderNo(String billId);
}

23
payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java

@ -2,7 +2,7 @@ package com.base.springcloud.service.imp;
import com.base.springcloud.aspect.annotation.BusinessException;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.bo.SaleBillBO;
import com.base.springcloud.bo.RefundBO;
import com.base.springcloud.constant.ErrorConstant;
import com.base.springcloud.dao.SaleBillMapper;
import com.base.springcloud.entity.SaleBill;
@ -114,10 +114,31 @@ public class BillServiceImp implements BillService {
childBill(orderBO,false);
}
/**
* 销售单据金额核销
* @param orderId
*/
@Override
public void writeOffAmount(String orderId) {
int count = saleBillMapper.writeOffBill(orderId);
if(count > 0) return;
throw new BusinessException(ErrorConstant.BILL_WRITE_OFF_FAIL);
}
/**
* 退款金额获取
* @param refundBO
*/
@Override
public void refundFront(RefundBO refundBO) {
String billId = refundBO.getBillId();
if(StringUtils.isBlank(billId))
throw new BusinessException(ErrorConstant.BILL_INVALID);
SaleBill saleBill = new SaleBill();
saleBill.setId(billId);
saleBill = saleBillMapper.queryBillInfo(saleBill);
if(Optional.ofNullable(saleBill).isPresent())
return;
throw new BusinessException(ErrorConstant.BILL_INVALID);
}
}

10
payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderBillServiceImp.java

@ -53,4 +53,14 @@ public class OrderBillServiceImp implements OrderBillService {
return orderBillMapper.getBillId(orderId);
}
/**
* 查询原支付订单
* @param billId
* @return
*/
@Override
public String queryOrderNo(String billId) {
return orderBillMapper.getOrderId(billId);
}
}

11
payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java

@ -9,9 +9,12 @@ import com.base.springcloud.dao.OrderMapper;
import com.base.springcloud.entity.MerchantConfig;
import com.base.springcloud.entity.Order;
import com.base.springcloud.entity.SaleBill;
import com.base.springcloud.service.BillService;
import com.base.springcloud.service.OrderBillService;
import com.base.springcloud.service.OrderService;
import com.base.springcloud.util.DateUtil;
import com.base.springcloud.util.DecimalUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -26,6 +29,8 @@ public class OrderServiceImp implements OrderService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private OrderBillService orderBillService;
/**
* 登记订单
@ -94,7 +99,11 @@ public class OrderServiceImp implements OrderService {
*/
@Override
public void origOrderCheck(RefundBO refundBO) {
Order order = orderMapper.origOrderInfo(refundBO.getOrigOrderNo());
String billId = refundBO.getBillId();
String orderNo = orderBillService.queryOrderNo(billId);
if(StringUtils.isBlank(orderNo))
throw new BusinessException(ErrorConstant.BILL_INVALID);
Order order = orderMapper.origOrderInfo(orderNo);
if (!Optional.ofNullable(order).isPresent())
throw new BusinessException(ErrorConstant.PAY_ORDER_NOT_FOUND);
if(!PaymentConstant.SUCCESS.equals(order.getOrderState()))

12
payment-base-app/src/main/java/com/base/springcloud/service/imp/RefundServiceImp.java

@ -7,6 +7,7 @@ import com.base.springcloud.constant.PaymentConstant;
import com.base.springcloud.dao.RefundMapper;
import com.base.springcloud.entity.Order;
import com.base.springcloud.entity.Refund;
import com.base.springcloud.service.BillService;
import com.base.springcloud.service.OrderService;
import com.base.springcloud.service.RefundService;
import com.base.springcloud.service.WecPaymentService;
@ -30,19 +31,20 @@ public class RefundServiceImp implements RefundService {
@Autowired
private RefundMapper refundMapper;
@Autowired
private BillService billService;
/**
* 退款
* @param refundBO
*/
@Override
public void refund(RefundBO refundBO) {
// RBS-退款金额获取
// 退款限制检查
// RBS-退款金额获取 FIXME 金额暂定支付金额
billService.refundFront(refundBO);
// TODO 退款限制检查
// 查询原支付订单
orderService.origOrderCheck(refundBO);
// 登记退款信息
registerRfund(refundBO);
// 发送微信退款

7
payment-base-app/src/main/resources/com/base/payment/mapper/OrderBillMapper.xml

@ -111,4 +111,11 @@
order_id = #{orderId,jdbcType=VARCHAR}
</where>
</select>
<select id="getOrderNo" parameterType="java.lang.String" resultType="java.lang.String">
select order_id
from pay_order_bill
<where>
bill_id = #{billId,jdbcType=VARCHAR}
</where>
</select>
</mapper>

2
payment-base-app/src/main/resources/com/base/payment/mapper/OrderMapper.xml

@ -181,7 +181,7 @@
<include refid="Base_Column_List" />
from pay_order
<where>
order_no = #{orderNo,jdbcType=VARCHAR}
order_id = #{orderId,jdbcType=VARCHAR}
</where>
</select>
</mapper>
Loading…
Cancel
Save