|
@@ -176,6 +176,9 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 供应商退款tab
|
|
|
tabMenus.add(5);
|
|
|
}
|
|
|
+ if (permissions.contains(20)) {
|
|
|
+ tabMenus.add(10);
|
|
|
+ }
|
|
|
receiptUser.setTabMenus(tabMenus);
|
|
|
}
|
|
|
|
|
@@ -2050,11 +2053,10 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
/**
|
|
|
* @param receiptOperateDto
|
|
|
* @param headers
|
|
|
- * @param flag 1 平台服务费 2平台服务费欠款
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson<Void> receiptPlatformFee(ReceiptOperateDto receiptOperateDto, HttpHeaders headers, Integer flag) {
|
|
|
+ public ResponseJson<Void> receiptPlatformFee(ReceiptOperateDto receiptOperateDto, HttpHeaders headers) {
|
|
|
// 检查收款用户权限: 20关联平台服务费
|
|
|
ReceiptUserVo receiptUser = checkPermissions(20, headers);
|
|
|
if (null == receiptUser) {
|
|
@@ -2078,9 +2080,6 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
String time = DateUtils.getDateTime();
|
|
|
ReceiptPo receiptPo = new ReceiptPo();
|
|
|
BeanUtils.copyProperties(receipt, receiptPo);
|
|
|
- if (2 == flag) {
|
|
|
- receiptPo.setPayType(32);
|
|
|
- }
|
|
|
receiptPo.setUpdateDate(time);
|
|
|
receiptPo.setReceiptType(10);
|
|
|
receiptPo.setReceiptStatus(2);
|
|
@@ -2094,11 +2093,87 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 相当于是机构通过商城付了款,然后供应商才给采美付了平台服务费
|
|
|
* (2)生成订单收款记录后,将子订单的收款状态置为已收款
|
|
|
*/
|
|
|
- savePlatformFee(receiptOperateDto.getShopOrderId(), receiptPo.getId(), receiptUser.getId(), cmCost, flag);
|
|
|
+ savePlatformFee(receiptOperateDto.getShopOrderId(), receiptPo.getId(), receiptUser.getId(), cmCost);
|
|
|
return ResponseJson.success("关联平台服务费成功!", null);
|
|
|
}
|
|
|
|
|
|
- private void savePlatformFee(Integer shopOrderId, Integer id, Integer receiptUserId, Double cmCost, Integer flag) {
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Void> receiptPlatformBill(ReceiptOperateDto receiptOperateDto, HttpHeaders headers) {
|
|
|
+ // 检查收款用户权限: 20关联平台服务费
|
|
|
+ ReceiptUserVo receiptUser = checkPermissions(20, headers);
|
|
|
+ if (null == receiptUser) {
|
|
|
+ return ResponseJson.error("无权限操作!", null);
|
|
|
+ }
|
|
|
+ // 检查关联金额是否与子订单平台服务费相等,不相等 收款金额与子订单平台服务费不相等,不能关联!
|
|
|
+ Double cmCost = receiptMapper.findCmCost(receiptOperateDto.getShopOrderId());
|
|
|
+ if (0 != MathUtil.compare(cmCost, receiptOperateDto.getVerbalAmount())) {
|
|
|
+ return ResponseJson.error("收款金额与子订单平台服务费欠款不相等,不能关联!", null);
|
|
|
+ }
|
|
|
+ ShopOrderVo shopOrderById = receiptMapper.getShopOrderById(receiptOperateDto.getShopOrderId());
|
|
|
+ // 欠款录入直接生成收款数据
|
|
|
+ ReceiptPo receiptPo = new ReceiptPo();
|
|
|
+ receiptPo.setPayWay(2);
|
|
|
+ receiptPo.setDelFlag(0);
|
|
|
+ receiptPo.setReceiptDate(DateUtils.getDateTime());
|
|
|
+ receiptPo.setConfirmDate(DateUtils.getDateTime());
|
|
|
+ receiptPo.setPayType(32);
|
|
|
+ receiptPo.setReceiptType(10);
|
|
|
+ receiptPo.setReceiptStatus(3);
|
|
|
+ receiptPo.setConfirmDate(DateUtils.getDateTime());
|
|
|
+ receiptPo.setConfirmUserPermissionId(receiptUser.getId());
|
|
|
+ receiptPo.setReceiptUserPermissionId(receiptUser.getId());
|
|
|
+ receiptPo.setReviewUserPermissionId(receiptUser.getId());
|
|
|
+ receiptPo.setReceiptAmount(cmCost);
|
|
|
+ receiptPo.setRebateRemarks("关联服务费欠款");
|
|
|
+ receiptMapper.insertReceipt(receiptPo);
|
|
|
+ savePlatformFee(shopOrderById.getShopOrderId(), receiptPo.getId(), receiptUser.getId(), cmCost);
|
|
|
+ // 当关联欠款时,造一条欠款记录
|
|
|
+ RebateRecordPo crr = new RebateRecordPo();
|
|
|
+ crr.setType(4);
|
|
|
+ crr.setShopId(shopOrderById.getShopId());
|
|
|
+ crr.setReceiptId(receiptUser.getId());
|
|
|
+ crr.setRebateAmount(cmCost);
|
|
|
+ crr.setShopOrderId(shopOrderById.getShopOrderId().toString());
|
|
|
+ crr.setOperateTime(DateUtils.getTime());
|
|
|
+ receiptMapper.insertRebateRecord(crr);
|
|
|
+ // 修改该供应商的欠款金额
|
|
|
+ receiptMapper.updateShopRebateAmount(shopOrderById.getShopId(), cmCost);
|
|
|
+ return ResponseJson.success("关联平台服务费欠款成功!", null);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson<PageInfo<ShopOrderVo>> getPlatformOrder(Integer id, String shopName, int pageNum, int pageSize, HttpHeaders headers) {
|
|
|
+ // 检查收款用户权限:20
|
|
|
+ ReceiptUserVo receiptUser = checkPermissions(20, headers);
|
|
|
+ if (null == receiptUser) {
|
|
|
+ return ResponseJson.error("无权限操作!", null);
|
|
|
+ }
|
|
|
+ /** 1.2.3无视
|
|
|
+ * (1)来自采美平台且供应商线下收款账号归属于供应商的子订单
|
|
|
+ * (2)来自采美平台且供应商线下收款账号归属于采美的子订单
|
|
|
+ * (3)不限子订单的收款状态
|
|
|
+ * (4)排除线上支付订单
|
|
|
+ */
|
|
|
+ List<ShopOrderVo> shopOrderList;
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ if (id != null && id > 0) {
|
|
|
+ // 已关联子订单,展示关联信息
|
|
|
+ shopOrderList = receiptMapper.getPlatformOrderByReceiptId(id);
|
|
|
+ for (ShopOrderVo shopOrder : shopOrderList) {
|
|
|
+ setReceiptedAmount(shopOrder);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // shopName或者是shopOrderId
|
|
|
+ shopOrderList = receiptMapper.getPlatformOrderByName(shopName);
|
|
|
+ for (ShopOrderVo shopOrder : shopOrderList) {
|
|
|
+ setReceiptedAmount(shopOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
|
|
|
+ return ResponseJson.success(pageInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void savePlatformFee(Integer shopOrderId, Integer id, Integer receiptUserId, Double cmCost) {
|
|
|
// 检查子订单状态是否为未收款
|
|
|
ShopOrderVo shopOrderById = receiptMapper.getShopOrderById(shopOrderId);
|
|
|
OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
@@ -2133,19 +2208,6 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 修改订单状态为已付款
|
|
|
receiptMapper.updateReceiptStatus(shopOrderId);
|
|
|
}
|
|
|
- if (2 == flag) {
|
|
|
- // 当关联欠款时,造一条欠款记录
|
|
|
- RebateRecordPo crr = new RebateRecordPo();
|
|
|
- crr.setType(4);
|
|
|
- crr.setShopId(shopOrderById.getShopId());
|
|
|
- crr.setReceiptId(id);
|
|
|
- crr.setRebateAmount(cmCost);
|
|
|
- crr.setShopOrderId(shopOrderId.toString());
|
|
|
- crr.setOperateTime(DateUtils.getTime());
|
|
|
- receiptMapper.insertRebateRecord(crr);
|
|
|
- // 修改该供应商的欠款金额
|
|
|
- receiptMapper.updateShopRebateAmount(shopOrderById.getShopId(), cmCost);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/**
|