|
@@ -1181,7 +1181,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
} else {
|
|
|
refundShop.setRefundType(6);
|
|
|
}
|
|
|
- receiptMapper.insertRefundShop(receiptPo);
|
|
|
+ receiptMapper.insertRefundShop(refundShop);
|
|
|
//保存供应商退款记录
|
|
|
RefundShopRecordPo refundShopRecord = new RefundShopRecordPo();
|
|
|
refundShopRecord.setRefundShopId(refundShop.getId());
|
|
@@ -1212,7 +1212,6 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
return ResponseJson.error("无权限操作!", null);
|
|
|
}
|
|
|
String[] shopOrderIdArr = receiptOperateDto.getShopOrderIds().split(",");
|
|
|
-
|
|
|
List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
|
|
|
if (shopIdList.size() > 1) {
|
|
|
return ResponseJson.error("子订单不属于相同的供应商!", null);
|
|
@@ -1240,11 +1239,77 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
receiptPo.setRebateRemarks(receiptOperateDto.getRebateRemarks());
|
|
|
}
|
|
|
receiptMapper.updateReceipt(receiptPo);
|
|
|
+ // 保存返佣收款关系和修改订单状态
|
|
|
+ saveRelationAndUpdateOrderStatus(shopOrderIdArr, receipt.getId());
|
|
|
+ return ResponseJson.success("关联返佣款成功!", null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 确认收款-关联口头佣金
|
|
|
+ * crm:/api/user/rebate/verballyReceipt
|
|
|
+ *
|
|
|
+ * @param receiptOperateDto {
|
|
|
+ * verbalAmount: 口头返佣佣金
|
|
|
+ * shopOrderIds: 关联返佣子订单IDs
|
|
|
+ * rebateRemarks:关联返佣备注
|
|
|
+ * }
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Integer> associateVerbalRebate(ReceiptOperateDto receiptOperateDto, HttpHeaders headers) {
|
|
|
+ // 检查收款用户权限: 5收款关联返佣
|
|
|
+ ReceiptUserVo receiptUser = checkPermissions(5, headers);
|
|
|
+ if (null == receiptUser) {
|
|
|
+ return ResponseJson.error("无权限操作!", null);
|
|
|
+ }
|
|
|
+ String[] shopOrderIdArr = receiptOperateDto.getShopOrderIds().split(",");
|
|
|
+ List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
|
|
|
+ if (shopIdList.size() > 1) {
|
|
|
+ return ResponseJson.error("子订单不属于相同的供应商!", null);
|
|
|
+ }
|
|
|
+ String date = DateUtils.getDate("yyyy-MM-dd HH:mm:ss");
|
|
|
+ ReceiptPo receiptPo = new ReceiptPo();
|
|
|
+ receiptPo.setPayWay(2);
|
|
|
+ receiptPo.setDelFlag(0);
|
|
|
+ receiptPo.setPayType(10);
|
|
|
+ receiptPo.setReceiptType(3);
|
|
|
+ receiptPo.setReceiptStatus(2);
|
|
|
+ receiptPo.setReceiptAmount(receiptOperateDto.getVerbalAmount());
|
|
|
+ receiptPo.setConfirmUserPermissionId(receiptUser.getId());
|
|
|
+ receiptPo.setReceiptDate(date);
|
|
|
+ receiptPo.setConfirmDate(date);
|
|
|
+ receiptPo.setRebateRemarks(receiptOperateDto.getRebateRemarks());
|
|
|
+ // 保存收款记录
|
|
|
+ receiptMapper.insertReceipt(receiptPo);
|
|
|
+ // 保存返佣收款关系和修改订单状态
|
|
|
+ saveRelationAndUpdateOrderStatus(shopOrderIdArr, receiptPo.getId());
|
|
|
+ // 添加 返佣欠款记录
|
|
|
+ RebateRecordPo crr = new RebateRecordPo();
|
|
|
+ crr.setType(1);
|
|
|
+ crr.setShopId(shopIdList.get(0));
|
|
|
+ crr.setReceiptId(receiptPo.getId());
|
|
|
+ crr.setRebateAmount(receiptOperateDto.getVerbalAmount());
|
|
|
+ crr.setShopOrderId(receiptOperateDto.getShopOrderIds());
|
|
|
+ crr.setOperateTime(date);
|
|
|
+ receiptMapper.insertRebateRecord(crr);
|
|
|
+ // 更新供应商欠款金额
|
|
|
+ receiptMapper.updateShopRebateAmount(shopIdList.get(0),receiptOperateDto.getVerbalAmount());
|
|
|
+ //返回 款项Id
|
|
|
+ return ResponseJson.success("关联口头返佣款成功!", receiptPo.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存返佣收款关系和修改订单状态
|
|
|
+ * @param shopOrderIdArr 子订单Ids
|
|
|
+ * @param receiptId 款项Id
|
|
|
+ */
|
|
|
+ private void saveRelationAndUpdateOrderStatus(String[] shopOrderIdArr, Integer receiptId) {
|
|
|
for (String shopOrderId : shopOrderIdArr) {
|
|
|
// 保存 收款项和订单关系
|
|
|
OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
|
relation.setOrderId(Integer.valueOf(shopOrderId));
|
|
|
- relation.setReceiptId(receipt.getId());
|
|
|
+ relation.setReceiptId(receiptId);
|
|
|
relation.setRelationType(1);
|
|
|
relation.setAssociateAmount(0d);
|
|
|
baseMapper.insertOrderReceiptRelation(relation);
|
|
@@ -1281,13 +1346,13 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
order.setStatus(Integer.valueOf("2" + order.getStatus().toString().charAt(1)));
|
|
|
}
|
|
|
}
|
|
|
- order.setUpdateDate(time);
|
|
|
+ order.setUpdateDate(DateUtils.getDateTime());
|
|
|
// 更新订单收款状态
|
|
|
payOrderMapper.updateOrderStatus(order);
|
|
|
}
|
|
|
- return ResponseJson.success("关联返佣款成功!", null);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 审核收款信息
|
|
|
*
|
|
@@ -1389,7 +1454,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
}
|
|
|
// 更新订单收款状态
|
|
|
payOrderMapper.updateOrderStatus(order);
|
|
|
- log.info("-------------审核通过订单状态改变---orderID:" + order.getOrderId() + "--status:" + order.getStatus());
|
|
|
+ log.info("-------------审核通过订单状态改变---orderId:" + order.getOrderId() + "--status:" + order.getStatus());
|
|
|
//判断是否有充值商品,充值到余额
|
|
|
Integer rechargeGoods = null;
|
|
|
//缴纳订金订单
|
|
@@ -1625,6 +1690,8 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 设置订单的款项信息
|
|
|
*/
|
|
|
private void setOrderAmountInfo(OrderVo order) {
|
|
|
+ String userName = baseMapper.getUserNameByUserId(order.getUserId());
|
|
|
+ order.setClubName(userName);
|
|
|
order.setPaidAmount(getReceivedAmount(order, true));
|
|
|
order.setStatusName(OrderStatus.getOrderStatusText(order.getStatus()));
|
|
|
order.setUnCheckAmount(receiptMapper.getUncheckAmount(order.getOrderId()));
|
|
@@ -2019,7 +2086,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 获取订单已退金额
|
|
|
Double returnedAmount = receiptMapper.getReturnedAmount(order.getOrderId());
|
|
|
// 经理折扣
|
|
|
- Double discountFee = order.getDiscountFee();
|
|
|
+ Double discountFee = null != order.getDiscountFee() ? order.getDiscountFee() : 0d ;
|
|
|
// 如果经理折扣大于退款(退货)总金额之和 那么先抵扣经理折扣 退款价值为0
|
|
|
if (discountFee >= returnedAmount) {
|
|
|
returnedAmount = 0d;
|