|
@@ -455,11 +455,11 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 操作收款信息(作废,设为返佣/普通/供应商退款/)
|
|
|
*
|
|
|
* @param receiptOperateDto {
|
|
|
- * id:收款Id
|
|
|
- * receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
|
|
|
- * noOrderReason: 非订单款说明
|
|
|
- * delFlag: 作废标记: 0否,其余是
|
|
|
- * }
|
|
|
+ * id:收款Id
|
|
|
+ * receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
|
|
|
+ * noOrderReason: 非订单款说明
|
|
|
+ * delFlag: 作废标记: 0否,其余是
|
|
|
+ * }
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseJson<ReceiptPo> operateReceipt(ReceiptOperateDto receiptOperateDto, HttpHeaders headers) {
|
|
@@ -506,7 +506,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
|
|
|
/**
|
|
|
* 获取收款列表
|
|
|
- *
|
|
|
+ * <p>
|
|
|
* 列表数据筛选:
|
|
|
* --超级管理员:无限制
|
|
|
* --协销: 非订单款,返佣款,与自身相关的订单款,与自身相关的供应商退款,
|
|
@@ -536,7 +536,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
}
|
|
|
ReceiptUserVo receiptUser = null;
|
|
|
// 订单款
|
|
|
- if(1 == receiptType) {
|
|
|
+ if (1 == receiptType) {
|
|
|
// 检查收款用户权限:10订单款查看(全部),13订单款查看(协销自己机构)
|
|
|
receiptUser = checkPermissions(Arrays.asList(10, 13), headers);
|
|
|
if (null == receiptUser) {
|
|
@@ -660,7 +660,11 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
if (!CollectionUtils.isEmpty(orderList)) {
|
|
|
List<Integer> clubUserIds = getClubUserIds(receiptUser);
|
|
|
for (OrderVo order : orderList) {
|
|
|
- if (4 == receiptUser.getUserType() || clubUserIds.contains(order.getUserId())) {
|
|
|
+ if (4 == receiptUser.getUserType()) {
|
|
|
+ // 收款详情是否可以查看
|
|
|
+ order.setAuthority(true);
|
|
|
+ }
|
|
|
+ if (null != clubUserIds && clubUserIds.size() > 0 && clubUserIds.contains(order.getUserId())) {
|
|
|
// 收款详情是否可以查看
|
|
|
order.setAuthority(true);
|
|
|
}
|
|
@@ -1038,11 +1042,11 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 确认收款-关联订单款
|
|
|
*
|
|
|
* @param receiptOperateDto {
|
|
|
- * id: 收款Id
|
|
|
- * orderIds: 关联订单IDS
|
|
|
- * confirmType: 确认订单类型:1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联
|
|
|
- * noOrderReason: 非订单款说明
|
|
|
- * }
|
|
|
+ * id: 收款Id
|
|
|
+ * orderIds: 关联订单IDS
|
|
|
+ * confirmType: 确认订单类型:1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联
|
|
|
+ * noOrderReason: 非订单款说明
|
|
|
+ * }
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
@@ -1112,7 +1116,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 收款金额 > 订单应付金额
|
|
|
else if (1 == MathUtil.compare(receiptPo.getReceiptAmount(), order.getPayableAmount())) {
|
|
|
// 大额抹平确认
|
|
|
- if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
|
|
|
+ if (null != receiptPo.getConfirmType() && 2 == receiptPo.getConfirmType()) {
|
|
|
relation.setReceiptId(receiptPo.getId());
|
|
|
relation.setOrderId(order.getOrderId());
|
|
|
relation.setAssociateAmount(order.getPayableAmount());
|
|
@@ -1176,7 +1180,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
baseMapper.insertOrderReceiptRelation(relation);
|
|
|
amount -= order.getPayableAmount();
|
|
|
}
|
|
|
- } else if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
|
|
|
+ } else if (null != receiptPo.getConfirmType() && 2 == receiptPo.getConfirmType()) {
|
|
|
//大额抹平确认
|
|
|
for (OrderVo order : list) {
|
|
|
OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
@@ -1239,9 +1243,9 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
String associateTitle = "收款和订单已确认关联,请及时审核!";
|
|
|
String associateDate = receiptPo.getReceiptDate();
|
|
|
String associateType = receiptMapper.getReceiptTypeStrById(receiptPo.getPayType());
|
|
|
- String remarkText = "收款类型:" + associateType + ",确认时间:"+receiptPo.getConfirmDate();
|
|
|
+ String remarkText = "收款类型:" + associateType + ",确认时间:" + receiptPo.getConfirmDate();
|
|
|
// 跳转到【普通款项待审核】页面
|
|
|
- String pagePath = "pages/login/login-share?id="+receiptPo.getId();
|
|
|
+ String pagePath = "pages/login/login-share?id=" + receiptPo.getId();
|
|
|
for (String openid : openidList) {
|
|
|
// sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
|
|
|
weChatService.sendTemplateMsg(accessToken, openid, associateTitle, associateAmount, associateDate, remarkText, pagePath);
|
|
@@ -1256,9 +1260,9 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 确认收款-关联供应商退款
|
|
|
*
|
|
|
* @param receiptOperateDto {
|
|
|
- * id: 收款Id
|
|
|
- * shopOrderId: 关联供应商退款子订单ID
|
|
|
- * }
|
|
|
+ * id: 收款Id
|
|
|
+ * shopOrderId: 关联供应商退款子订单ID
|
|
|
+ * }
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
@@ -1348,10 +1352,10 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 确认收款-关联返佣款
|
|
|
*
|
|
|
* @param receiptOperateDto {
|
|
|
- * id: 收款Id
|
|
|
- * shopOrderId: 关联返佣子订单ID
|
|
|
- * rebateRemarks:关联返佣备注
|
|
|
- * }
|
|
|
+ * id: 收款Id
|
|
|
+ * shopOrderId: 关联返佣子订单ID
|
|
|
+ * rebateRemarks:关联返佣备注
|
|
|
+ * }
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
@@ -1442,8 +1446,9 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
|
|
|
/**
|
|
|
* 保存返佣收款关系和修改订单状态
|
|
|
+ *
|
|
|
* @param shopOrderId 子订单Id
|
|
|
- * @param receiptId 款项Id
|
|
|
+ * @param receiptId 款项Id
|
|
|
*/
|
|
|
private void saveRelationAndUpdateOrderStatus(Integer shopOrderId, Integer receiptId) {
|
|
|
// 保存 收款项和订单关系
|
|
@@ -1520,7 +1525,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 收款项和订单关系
|
|
|
List<OrderReceiptRelationPo> listRelation = new ArrayList<>();
|
|
|
// 订单款项
|
|
|
- if (null != receipt.getReceiptType() && 1 == receipt.getReceiptType()){
|
|
|
+ if (null != receipt.getReceiptType() && 1 == receipt.getReceiptType()) {
|
|
|
// 只要当收款状态为已确认状态时候才能做审核操作
|
|
|
if (3 == receiptStatus && 2 == receipt.getReceiptStatus()) {
|
|
|
// 收款项和订单关系
|
|
@@ -1747,13 +1752,13 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
String title = "审核未通过,请重新确认审核!";
|
|
|
String date = receiptPo.getReceiptDate();
|
|
|
String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receiptPo.getPayType());
|
|
|
- String remarkText = "收款类型:"+ receiptTypeStr +";"+"审核时间:"+receiptPo.getReviewDate();
|
|
|
+ String remarkText = "收款类型:" + receiptTypeStr + ";" + "审核时间:" + receiptPo.getReviewDate();
|
|
|
double associateAmount = receiptMapper.countAssociateAmountById(receiptPo.getId());
|
|
|
// (用户权限: 1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款)
|
|
|
List<String> openidList = receiptMapper.getOpenidListByPermission(Collections.singletonList(3));
|
|
|
openidList.removeIf(Objects::isNull);
|
|
|
// 跳转到【普通款项待审核】页面
|
|
|
- String pagePath = "pages/login/login-share?id="+receiptPo.getId();
|
|
|
+ String pagePath = "pages/login/login-share?id=" + receiptPo.getId();
|
|
|
for (String openid : openidList) {
|
|
|
// sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
|
|
|
weChatService.sendTemplateMsg(accessToken, openid, title, associateAmount, date, remarkText, pagePath);
|
|
@@ -1778,11 +1783,11 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
List<ReceiptVo> list = receiptMapper.getReceiptList(paramsBo);
|
|
|
list.removeIf(Objects::isNull);
|
|
|
// (用户权限: 1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款)
|
|
|
- List<String> openidList = receiptMapper.getOpenidListByPermission(Arrays.asList(3,4,5,6));
|
|
|
+ List<String> openidList = receiptMapper.getOpenidListByPermission(Arrays.asList(3, 4, 5, 6));
|
|
|
openidList.removeIf(Objects::isNull);
|
|
|
String title = "超时未确认,请及时查看详情并确认关联!";
|
|
|
for (ReceiptVo receipt : list) {
|
|
|
- String pagePath = "pages/login/login-share?id="+receipt.getId();
|
|
|
+ String pagePath = "pages/login/login-share?id=" + receipt.getId();
|
|
|
double amount = receipt.getReceiptAmount();
|
|
|
String date = receipt.getReceiptDate();
|
|
|
String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receipt.getPayType());
|
|
@@ -1815,9 +1820,9 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
double amount = receiptMapper.countAssociateAmountById(receipt.getId());
|
|
|
String date = receipt.getConfirmDate();
|
|
|
String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receipt.getPayType());
|
|
|
- String remarkText = "收款类型:" + receiptTypeStr + ",确认时间:"+receipt.getConfirmDate();
|
|
|
+ String remarkText = "收款类型:" + receiptTypeStr + ",确认时间:" + receipt.getConfirmDate();
|
|
|
// 跳转到【普通款项待审核】页面
|
|
|
- String pagePath = "pages/login/login-share?id="+receipt.getId();
|
|
|
+ String pagePath = "pages/login/login-share?id=" + receipt.getId();
|
|
|
for (String openid : openidList) {
|
|
|
// sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
|
|
|
weChatService.sendTemplateMsg(accessToken, openid, title, amount, date, remarkText, pagePath);
|
|
@@ -1965,6 +1970,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
private ReceiptUserVo checkPermissions(List<Integer> permissions, HttpHeaders headers) {
|
|
|
// 用户openid
|
|
|
String openid = headers.getFirst("x-openid");
|
|
@@ -2206,7 +2212,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 获取订单已退金额
|
|
|
Double returnedAmount = receiptMapper.getReturnedAmount(order.getOrderId());
|
|
|
// 经理折扣
|
|
|
- Double discountFee = null != order.getDiscountFee() ? order.getDiscountFee() : 0d ;
|
|
|
+ Double discountFee = null != order.getDiscountFee() ? order.getDiscountFee() : 0d;
|
|
|
// 如果经理折扣大于退款(退货)总金额之和 那么先抵扣经理折扣 退款价值为0
|
|
|
if (discountFee >= returnedAmount) {
|
|
|
returnedAmount = 0d;
|