|
@@ -95,7 +95,7 @@ public class ShipServiceImpl implements ShipService {
|
|
|
setShopOrderInfo(shopOrder);
|
|
|
}
|
|
|
// 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
|
|
|
- if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
+ if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && ((1 == shopOrder.getReceiptStatus() && (2 == shopOrder.getOnlinePay() || 0 == shopOrder.getOnlinePay())) || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
shopOrder.setCheckFlag(2);
|
|
|
} else {
|
|
|
shopOrder.setCheckFlag(1);
|
|
@@ -170,6 +170,7 @@ public class ShipServiceImpl implements ShipService {
|
|
|
}
|
|
|
procedureFee = MathUtil.add(procedureFee, payAmount).doubleValue();
|
|
|
}
|
|
|
+ // 支付手续费
|
|
|
settlement.setPaymentCommission(procedureFee);
|
|
|
// 分帐记录
|
|
|
Double splitAccount = shipMapper.getSplitAccount(settlement.getShopOrderId());
|
|
@@ -180,6 +181,112 @@ public class ShipServiceImpl implements ShipService {
|
|
|
return ResponseJson.success(pageInfo);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 导出excel
|
|
|
+ *
|
|
|
+ * @param shopId
|
|
|
+ * @param payStatus
|
|
|
+ * @param shopOrderNo
|
|
|
+ * @param name
|
|
|
+ * @param beginTime
|
|
|
+ * @param endTime
|
|
|
+ * @param refundStatus
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<PageInfo<SettlementVo>> exportExcel(Integer shopId, Integer payStatus, String shopOrderNo, String name, String beginTime, String endTime, Integer refundStatus,Integer pageNum, Integer pageSize) {
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ List<SettlementVo> settlementList = shipMapper.getSettlementList(shopId, payStatus, shopOrderNo, name, beginTime, endTime, refundStatus);
|
|
|
+ List<SettlementDto> settlementDto = new ArrayList<>();
|
|
|
+ settlementList.forEach(settlement -> {
|
|
|
+ if (null != settlement) {
|
|
|
+ List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(settlement.getShopOrderId());
|
|
|
+ settlement.setOrderProductList(orderProductList);
|
|
|
+ }
|
|
|
+ // 付款记录
|
|
|
+ List<DiscernReceiptVo> shopOrderRelation = shipMapper.getShopOrderRelation(settlement.getShopOrderId());
|
|
|
+ // 付款手续费
|
|
|
+ double procedureFee = 0d;
|
|
|
+ for (DiscernReceiptVo discernReceipt:shopOrderRelation) {
|
|
|
+ // 本次支付金额,单位/元
|
|
|
+ double splitAmount = discernReceipt.getAssociateAmount();
|
|
|
+ double payAmount;
|
|
|
+ if (12 == discernReceipt.getPayType()) {
|
|
|
+ // 网银支付
|
|
|
+ payAmount = 10.00;
|
|
|
+ } else if (17 == discernReceipt.getPayType()) {
|
|
|
+ //b2c网银
|
|
|
+ //b2c 0.2%
|
|
|
+ payAmount = MathUtil.mul(splitAmount, 0.002, 2).doubleValue();
|
|
|
+ //b2c最低手续费0.1
|
|
|
+ if (payAmount < 0.1) {
|
|
|
+ payAmount = 0.1;
|
|
|
+ }
|
|
|
+ } else if (8 == discernReceipt.getPayType() || 13 == discernReceipt.getPayType() || 15 == discernReceipt.getPayType()) {
|
|
|
+ //微信0.65%手续费
|
|
|
+ //微信0.65%
|
|
|
+ payAmount = MathUtil.mul(splitAmount, 0.0065, 2).doubleValue();
|
|
|
+ } else if (29 == discernReceipt.getPayType()) {
|
|
|
+ //快捷支付 借记卡支付29,
|
|
|
+
|
|
|
+ payAmount = MathUtil.mul(splitAmount, 0.003, 2).doubleValue();
|
|
|
+ if (payAmount < 0.1) {
|
|
|
+ payAmount = 0.1;
|
|
|
+ }
|
|
|
+ }else if (30 == discernReceipt.getPayType()) {
|
|
|
+ //快捷支付 贷记卡支付30
|
|
|
+ payAmount = MathUtil.mul(splitAmount, 0.006, 2).doubleValue();
|
|
|
+ if (payAmount < 0.1) {
|
|
|
+ payAmount = 0.1;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //手续费 其他0.25%
|
|
|
+ payAmount = MathUtil.mul(splitAmount, 0.0025, 2).doubleValue();
|
|
|
+ }
|
|
|
+ if (MathUtil.compare(payAmount, 0.01) <= 0) {
|
|
|
+ payAmount = 0.01;
|
|
|
+ }
|
|
|
+ procedureFee = MathUtil.add(procedureFee, payAmount).doubleValue();
|
|
|
+ }
|
|
|
+ // 支付手续费
|
|
|
+ settlement.setPaymentCommission(procedureFee);
|
|
|
+ // 分帐记录
|
|
|
+ Double splitAccount = shipMapper.getSplitAccount(settlement.getShopOrderId());
|
|
|
+ // 分帐手续费
|
|
|
+ settlement.setProrateCommission(MathUtil.mul(splitAccount, 0.001).doubleValue());
|
|
|
+ // 设置返回数据
|
|
|
+ SettlementDto lementDto = new SettlementDto();
|
|
|
+ lementDto.setShopOrderNo(settlement.getShopOrderNo());
|
|
|
+ lementDto.setOrderTime(settlement.getOrderTime());
|
|
|
+ lementDto.setName(settlement.getName());
|
|
|
+ if(settlement.getOrderProductList().size() > 0) {
|
|
|
+ lementDto.setProductInfo(settlement.getOrderProductList().get(0).getName());
|
|
|
+ }
|
|
|
+ lementDto.setTotalAmount(settlement.getTotalAmount());
|
|
|
+ if (1 == settlement.getRefundStatus()) {
|
|
|
+ lementDto.setRefundStatus("无退款");
|
|
|
+ } else {
|
|
|
+ lementDto.setRefundStatus("有退款");
|
|
|
+ }
|
|
|
+ lementDto.setRefundAmount(settlement.getRefundAmount());
|
|
|
+ lementDto.setPaymentCommission(settlement.getPaymentCommission());
|
|
|
+ lementDto.setProrateCommission(settlement.getProrateCommission());
|
|
|
+ if (1 == settlement.getPayStatus()) {
|
|
|
+ lementDto.setPayStatus("待付款");
|
|
|
+ } else if (2 == settlement.getPayStatus()){
|
|
|
+ lementDto.setPayStatus("部分付款");
|
|
|
+ } else {
|
|
|
+ lementDto.setPayStatus("已付款");
|
|
|
+ }
|
|
|
+ lementDto.setShouldPayShopAmount(settlement.getShouldPayShopAmount());
|
|
|
+ lementDto.setPayedShopAmount(settlement.getPayedShopAmount());
|
|
|
+ lementDto.setUnsettledAmount(MathUtil.sub(settlement.getShouldPayShopAmount(), settlement.getPayedShopAmount()).doubleValue());
|
|
|
+ settlementDto.add(lementDto);
|
|
|
+ });
|
|
|
+ PageInfo<SettlementVo> pageInfo = new PageInfo(settlementList);
|
|
|
+ return ResponseJson.success(pageInfo);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 供应商子订单详情
|
|
|
*
|
|
@@ -193,7 +300,7 @@ public class ShipServiceImpl implements ShipService {
|
|
|
}
|
|
|
setShopOrderInfo(shopOrder);
|
|
|
// 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
|
|
|
- if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
+ if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && ((1 == shopOrder.getReceiptStatus() && (2 == shopOrder.getOnlinePay() || 0 == shopOrder.getOnlinePay())) || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
shopOrder.setCheckFlag(2);
|
|
|
} else {
|
|
|
shopOrder.setCheckFlag(1);
|
|
@@ -1186,17 +1293,12 @@ public class ShipServiceImpl implements ShipService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResponseJson<Map<String, Object>> downFile(Integer fileId, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
+ public void downFile(Integer fileId, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
OssFileDto remarkFile = shipMapper.findRemarkById(fileId);
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
if (null != remarkFile) {
|
|
|
String fileName = remarkFile.getName();
|
|
|
ossUtils.downFile(remarkFile.getOssName(), fileName);
|
|
|
ossService.download(request, response, fileName);
|
|
|
- map.put("code", 0);
|
|
|
- } else {
|
|
|
- map.put("code", -1);
|
|
|
}
|
|
|
- return ResponseJson.success(map);
|
|
|
}
|
|
|
}
|