|
@@ -1236,7 +1236,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
*
|
|
*
|
|
* @param receiptOperateDto {
|
|
* @param receiptOperateDto {
|
|
* id: 收款Id
|
|
* id: 收款Id
|
|
- * shopOrderIds: 关联返佣子订单IDs
|
|
|
|
|
|
+ * shopOrderId: 关联返佣子订单ID
|
|
* rebateRemarks:关联返佣备注
|
|
* rebateRemarks:关联返佣备注
|
|
* }
|
|
* }
|
|
*/
|
|
*/
|
|
@@ -1248,11 +1248,6 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
if (null == receiptUser) {
|
|
if (null == receiptUser) {
|
|
return ResponseJson.error("无权限操作!", null);
|
|
return ResponseJson.error("无权限操作!", null);
|
|
}
|
|
}
|
|
- String[] shopOrderIdArr = receiptOperateDto.getShopOrderIds().split(",");
|
|
|
|
- List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
|
|
|
|
- if (shopIdList.size() > 1) {
|
|
|
|
- return ResponseJson.error("子订单不属于相同的供应商!", null);
|
|
|
|
- }
|
|
|
|
ReceiptVo receipt = receiptMapper.getReceiptDetail(receiptOperateDto.getId());
|
|
ReceiptVo receipt = receiptMapper.getReceiptDetail(receiptOperateDto.getId());
|
|
if (null == receipt) {
|
|
if (null == receipt) {
|
|
return ResponseJson.error("收款数据异常!", null);
|
|
return ResponseJson.error("收款数据异常!", null);
|
|
@@ -1277,7 +1272,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
}
|
|
}
|
|
receiptMapper.updateReceipt(receiptPo);
|
|
receiptMapper.updateReceipt(receiptPo);
|
|
// 保存返佣收款关系和修改订单状态
|
|
// 保存返佣收款关系和修改订单状态
|
|
- saveRelationAndUpdateOrderStatus(shopOrderIdArr, receipt.getId());
|
|
|
|
|
|
+ saveRelationAndUpdateOrderStatus(receiptOperateDto.getShopOrderId(), receipt.getId());
|
|
return ResponseJson.success("关联返佣款成功!", null);
|
|
return ResponseJson.success("关联返佣款成功!", null);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1299,8 +1294,6 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
if (null == receiptUser) {
|
|
if (null == receiptUser) {
|
|
return ResponseJson.error("无权限操作!", null);
|
|
return ResponseJson.error("无权限操作!", null);
|
|
}
|
|
}
|
|
- String[] shopOrderIdArr = receiptOperateDto.getShopOrderId().toString().split(",");
|
|
|
|
- List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
|
|
|
|
String date = DateUtils.getDate("yyyy-MM-dd HH:mm:ss");
|
|
String date = DateUtils.getDate("yyyy-MM-dd HH:mm:ss");
|
|
ReceiptPo receiptPo = new ReceiptPo();
|
|
ReceiptPo receiptPo = new ReceiptPo();
|
|
receiptPo.setPayWay(2);
|
|
receiptPo.setPayWay(2);
|
|
@@ -1316,18 +1309,19 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
// 保存收款记录
|
|
// 保存收款记录
|
|
receiptMapper.insertReceipt(receiptPo);
|
|
receiptMapper.insertReceipt(receiptPo);
|
|
// 保存返佣收款关系和修改订单状态
|
|
// 保存返佣收款关系和修改订单状态
|
|
- saveRelationAndUpdateOrderStatus(shopOrderIdArr, receiptPo.getId());
|
|
|
|
|
|
+ saveRelationAndUpdateOrderStatus(receiptOperateDto.getShopOrderId(), receiptPo.getId());
|
|
|
|
+ Integer shopId = receiptMapper.getShopIdByShopOrderId(receiptOperateDto.getShopOrderId());
|
|
// 添加 返佣欠款记录
|
|
// 添加 返佣欠款记录
|
|
RebateRecordPo crr = new RebateRecordPo();
|
|
RebateRecordPo crr = new RebateRecordPo();
|
|
crr.setType(1);
|
|
crr.setType(1);
|
|
- crr.setShopId(shopIdList.get(0));
|
|
|
|
|
|
+ crr.setShopId(shopId);
|
|
crr.setReceiptId(receiptPo.getId());
|
|
crr.setReceiptId(receiptPo.getId());
|
|
crr.setRebateAmount(receiptOperateDto.getVerbalAmount());
|
|
crr.setRebateAmount(receiptOperateDto.getVerbalAmount());
|
|
crr.setShopOrderId(receiptOperateDto.getShopOrderIds());
|
|
crr.setShopOrderId(receiptOperateDto.getShopOrderIds());
|
|
crr.setOperateTime(date);
|
|
crr.setOperateTime(date);
|
|
receiptMapper.insertRebateRecord(crr);
|
|
receiptMapper.insertRebateRecord(crr);
|
|
// 更新供应商欠款金额
|
|
// 更新供应商欠款金额
|
|
- receiptMapper.updateShopRebateAmount(shopIdList.get(0),receiptOperateDto.getVerbalAmount());
|
|
|
|
|
|
+ receiptMapper.updateShopRebateAmount(shopId, receiptOperateDto.getVerbalAmount());
|
|
//返回 款项Id
|
|
//返回 款项Id
|
|
return ResponseJson.success("关联口头返佣款成功!", receiptPo.getId());
|
|
return ResponseJson.success("关联口头返佣款成功!", receiptPo.getId());
|
|
}
|
|
}
|
|
@@ -1335,56 +1329,54 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 保存返佣收款关系和修改订单状态
|
|
* 保存返佣收款关系和修改订单状态
|
|
- * @param shopOrderIdArr 子订单Ids
|
|
|
|
|
|
+ * @param shopOrderId 子订单Id
|
|
* @param receiptId 款项Id
|
|
* @param receiptId 款项Id
|
|
*/
|
|
*/
|
|
- private void saveRelationAndUpdateOrderStatus(String[] shopOrderIdArr, Integer receiptId) {
|
|
|
|
- for (String shopOrderId : shopOrderIdArr) {
|
|
|
|
- // 保存 收款项和订单关系
|
|
|
|
- OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
|
|
- relation.setDelFlag(0);
|
|
|
|
- relation.setOrderId(Integer.valueOf(shopOrderId));
|
|
|
|
- relation.setReceiptId(receiptId);
|
|
|
|
- relation.setRelationType(1);
|
|
|
|
- relation.setAssociateAmount(0d);
|
|
|
|
- baseMapper.insertOrderReceiptRelation(relation);
|
|
|
|
- //查询这个子订单的主订单下面的所有子订单ID 结果里面包含了 shopOrderId自己的 也就是这个这订单的兄弟子订单
|
|
|
|
- List<Integer> shopOrderIdList = receiptMapper.getSubShopOrderList(shopOrderId);
|
|
|
|
- //因为最起码已经有一个子订单进行了返佣操作 所以主订单最起码是部分收款付款
|
|
|
|
- //如果子订单全部进行了 返佣操作 那么就是全部收付款了
|
|
|
|
- boolean flag = true;
|
|
|
|
- // 查询已经返佣了的子订单
|
|
|
|
- List<Integer> shopOrderIdRebate = receiptMapper.getSubShopOrderRebate(shopOrderIdList);
|
|
|
|
- for (Integer soId : shopOrderIdList) {
|
|
|
|
- if (!shopOrderIdRebate.contains(soId)) {
|
|
|
|
- //只要有一个子订单没有进行过返佣
|
|
|
|
- //那么这个主订单就是部分的收付款
|
|
|
|
- flag = false;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ private void saveRelationAndUpdateOrderStatus(Integer shopOrderId, Integer receiptId) {
|
|
|
|
+ // 保存 收款项和订单关系
|
|
|
|
+ OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
|
|
+ relation.setDelFlag(0);
|
|
|
|
+ relation.setOrderId(shopOrderId);
|
|
|
|
+ relation.setReceiptId(receiptId);
|
|
|
|
+ relation.setRelationType(1);
|
|
|
|
+ relation.setAssociateAmount(0d);
|
|
|
|
+ baseMapper.insertOrderReceiptRelation(relation);
|
|
|
|
+ //查询这个子订单的主订单下面的所有子订单ID 结果里面包含了 shopOrderId自己的 也就是这个这订单的兄弟子订单
|
|
|
|
+ List<Integer> shopOrderIdList = receiptMapper.getSubShopOrderList(shopOrderId);
|
|
|
|
+ //因为最起码已经有一个子订单进行了返佣操作 所以主订单最起码是部分收款付款
|
|
|
|
+ //如果子订单全部进行了 返佣操作 那么就是全部收付款了
|
|
|
|
+ boolean flag = true;
|
|
|
|
+ // 查询已经返佣了的子订单
|
|
|
|
+ List<Integer> shopOrderIdRebate = receiptMapper.getSubShopOrderRebate(shopOrderIdList);
|
|
|
|
+ for (Integer soId : shopOrderIdList) {
|
|
|
|
+ if (!shopOrderIdRebate.contains(soId)) {
|
|
|
|
+ //只要有一个子订单没有进行过返佣
|
|
|
|
+ //那么这个主订单就是部分的收付款
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- receiptMapper.updateShopOrderPayStatus(shopOrderId, 3);
|
|
|
|
- // 订单信息
|
|
|
|
- OrderVo order = orderCommonMapper.getOrderByShopOrderId(Integer.parseInt(shopOrderId));
|
|
|
|
- if (flag) {
|
|
|
|
- //子订单全部收到款了
|
|
|
|
- order.setReceiptStatus(3);
|
|
|
|
- order.setPayStatus(3);
|
|
|
|
- if (order.getStatus().toString().length() == 2) {
|
|
|
|
- order.setStatus(Integer.valueOf("3" + order.getStatus().toString().charAt(1)));
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- //子订单的款还没有收全
|
|
|
|
- order.setReceiptStatus(2);
|
|
|
|
- order.setPayStatus(2);
|
|
|
|
- if (order.getStatus().toString().length() == 2) {
|
|
|
|
- order.setStatus(Integer.valueOf("2" + order.getStatus().toString().charAt(1)));
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ receiptMapper.updateShopOrderPayStatus(shopOrderId, 3);
|
|
|
|
+ // 订单信息
|
|
|
|
+ OrderVo order = orderCommonMapper.getOrderByShopOrderId(shopOrderId);
|
|
|
|
+ if (flag) {
|
|
|
|
+ //子订单全部收到款了
|
|
|
|
+ order.setReceiptStatus(3);
|
|
|
|
+ order.setPayStatus(3);
|
|
|
|
+ if (order.getStatus().toString().length() == 2) {
|
|
|
|
+ order.setStatus(Integer.valueOf("3" + order.getStatus().toString().charAt(1)));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //子订单的款还没有收全
|
|
|
|
+ order.setReceiptStatus(2);
|
|
|
|
+ order.setPayStatus(2);
|
|
|
|
+ if (order.getStatus().toString().length() == 2) {
|
|
|
|
+ order.setStatus(Integer.valueOf("2" + order.getStatus().toString().charAt(1)));
|
|
}
|
|
}
|
|
- order.setUpdateDate(DateUtils.getDateTime());
|
|
|
|
- // 更新订单收款状态
|
|
|
|
- payOrderMapper.updateOrderStatus(order);
|
|
|
|
}
|
|
}
|
|
|
|
+ order.setUpdateDate(DateUtils.getDateTime());
|
|
|
|
+ // 更新订单收款状态
|
|
|
|
+ payOrderMapper.updateOrderStatus(order);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|