|
@@ -188,7 +188,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
return ResponseJson.error("接口调用错误,该接口用作保存收款信息", null);
|
|
|
} else {
|
|
|
// 如果是添加收款则判断是否存在重复添加
|
|
|
- if (StringUtils.isNotBlank(receiptDto.getSmsContent()) && StringUtils.isNotBlank(receiptDto.getPayWay())) {
|
|
|
+ if (StringUtils.isNotBlank(receiptDto.getSmsContent()) && null != receiptDto.getPayWay()) {
|
|
|
// 无短信备注内容短信无需判断(payWay传值的话是短信识别来的)
|
|
|
String md5Msg = Md5Util.md5(receiptDto.getSmsContent());
|
|
|
ReceiptVo receiptVo = getReceiptByMd5Msg(md5Msg);
|
|
@@ -207,13 +207,13 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
receiptPo.setSmsContent(message);
|
|
|
}
|
|
|
// 收款款项类型receiptType:2非订单款
|
|
|
- if ("2".equals(receiptDto.getReceiptType())) {
|
|
|
+ if (null != receiptDto.getReceiptType() && 2 == receiptDto.getReceiptType()) {
|
|
|
receiptPo.setReceiptStatus("2");
|
|
|
} else {
|
|
|
receiptPo.setReceiptStatus("1");
|
|
|
}
|
|
|
- receiptPo.setDelFlag("0");
|
|
|
- receiptPo.setConfirmType("0");
|
|
|
+ receiptPo.setDelFlag(0);
|
|
|
+ receiptPo.setConfirmType(0);
|
|
|
receiptPo.setPayWay("2");
|
|
|
if (null == receiptDto.getHandlingFee()) {
|
|
|
receiptPo.setHandlingFee(0d);
|
|
@@ -223,15 +223,14 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
receiptMapper.insertReceipt(receiptPo);
|
|
|
|
|
|
/* 如果订单是小程序组织订单来源则包含对应订单Id直接通过订单标识审核收款 */
|
|
|
- String orderFlag = receiptDto.getOrderFlag();
|
|
|
+ Integer orderFlag = receiptDto.getOrderFlag();
|
|
|
// 参数订单标识
|
|
|
log.info("收款订单标识>>>>>>" + orderFlag);
|
|
|
// 订单款时才走自动关联
|
|
|
- if (StringUtils.isNotEmpty(receiptDto.getOrderFlag()) && "1".equals(receiptDto.getReceiptType())) {
|
|
|
- boolean matches = PATTERN_ORDER_ID.matcher(orderFlag).matches();
|
|
|
- if (matches) {
|
|
|
+ if (null != receiptDto.getOrderFlag() && null != receiptDto.getReceiptType() && 1 == receiptDto.getReceiptType()) {
|
|
|
+ if (null != orderFlag && orderFlag > 0) {
|
|
|
// 订单信息
|
|
|
- OrderVo order = orderCommonMapper.getOrderByOrderId(Integer.parseInt(orderFlag));
|
|
|
+ OrderVo order = orderCommonMapper.getOrderByOrderId(orderFlag);
|
|
|
if (null != order && 0 != order.getStatus() && 1 != order.getRebateFlag()) {
|
|
|
if (3 == order.getReceiptStatus()) {
|
|
|
// 设置手动回滚事务
|
|
@@ -250,21 +249,21 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
if (order.getPayableAmount().equals(receiptPo.getReceiptAmount())) {
|
|
|
//确认关联(收款金额=订单应付金额)
|
|
|
log.info(">>>>>>>>>>>>>>>>>>1:" + order.getPayableAmount() + "====" + receiptPo.getReceiptAmount());
|
|
|
- receiptPo.setConfirmType("4");
|
|
|
+ receiptPo.setConfirmType(4);
|
|
|
relation.setReceiptId(receiptPo.getId());
|
|
|
relation.setOrderId(order.getOrderId());
|
|
|
relation.setAssociateAmount(receiptPo.getReceiptAmount());
|
|
|
} else if (receiptPo.getReceiptAmount() < order.getPayableAmount()) {
|
|
|
/*(收款金额<订单应付金额)【默认部分收款确认,自动收款不存在抹平确认】*/
|
|
|
log.info(">>>>>>>>>>>>>>>>>>2:" + order.getPayableAmount() + "====" + receiptPo.getReceiptAmount());
|
|
|
- receiptPo.setConfirmType("4");
|
|
|
+ receiptPo.setConfirmType(4);
|
|
|
relation.setReceiptId(receiptPo.getId());
|
|
|
relation.setOrderId(order.getOrderId());
|
|
|
relation.setAssociateAmount(receiptPo.getReceiptAmount());
|
|
|
} else if (receiptPo.getReceiptAmount() > order.getPayableAmount()) {
|
|
|
/*(收款金额>订单应付金额)【默认大额退款余额,自动不存在抹平】*/
|
|
|
log.info(">>>>>>>>>>>>>>>>>>3:" + order.getPayableAmount() + "====" + receiptPo.getReceiptAmount());
|
|
|
- receiptPo.setConfirmType("3");
|
|
|
+ receiptPo.setConfirmType(3);
|
|
|
relation.setReceiptId(receiptPo.getId());
|
|
|
relation.setOrderId(order.getOrderId());
|
|
|
relation.setAssociateAmount(order.getPayableAmount());
|
|
@@ -431,15 +430,15 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
receiptPo.setId(receiptDto.getId());
|
|
|
receiptPo.setUpdateDate(time);
|
|
|
// 收款作废
|
|
|
- if (StringUtils.isNotBlank(receiptDto.getDelFlag()) && !"0".equals(receiptDto.getDelFlag())) {
|
|
|
+ if (null != receiptDto.getDelFlag() && receiptDto.getDelFlag() > 0) {
|
|
|
// 收款状态receiptStatus:2已确认(待审核)、3审核通过
|
|
|
- if ("2".equals(receiptDto.getReceiptStatus()) || "3".equals(receiptDto.getReceiptStatus())) {
|
|
|
+ if (null != receiptDto.getReceiptStatus() && (2 == receiptDto.getReceiptStatus() || 3 == receiptDto.getReceiptStatus())) {
|
|
|
// 收款款项类型receiptType:1订单款
|
|
|
- if ("1".equals(receiptDto.getReceiptType())) {
|
|
|
+ if (null != receiptDto.getReceiptType() && 1 == receiptDto.getReceiptType()) {
|
|
|
return ResponseJson.error(-2, "该收款已关联了订单,不能作废!请刷新页面查看最新数据", null);
|
|
|
}
|
|
|
// 收款款项类型receiptType:3返佣款
|
|
|
- else if ("3".equals(receiptDto.getReceiptType())) {
|
|
|
+ else if (null != receiptDto.getReceiptType() && 3 == receiptDto.getReceiptType()) {
|
|
|
return ResponseJson.error(-2, "该收款已关联了返佣订单,不能作废!请刷新页面查看最新数据", null);
|
|
|
}
|
|
|
}
|
|
@@ -447,7 +446,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
}
|
|
|
receiptPo.setReceiptType(receiptDto.getReceiptType());
|
|
|
// 收款款项类型receiptType:2非订单款
|
|
|
- if ("2".equals(receiptDto.getReceiptType())) {
|
|
|
+ if (null != receiptDto.getReceiptType() && 2 == receiptDto.getReceiptType()) {
|
|
|
receiptPo.setNoOrderReason(receiptDto.getNoOrderReason());
|
|
|
receiptPo.setReceiptStatus("2");
|
|
|
receiptPo.setConfirmUserPermissionId(receiptUser.getId());
|
|
@@ -462,7 +461,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* 获取收款列表
|
|
|
*
|
|
|
* @param receiptType 收款款项类型:1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
|
|
|
- * @param receiptStatus 收款状态:1待确认、2已确认(待审核)、3审核通过、4审核未通过、5收款撤销【线上支付成功为审核通过】
|
|
|
+ * @param receiptStatusStr 收款状态串(逗号隔开):1待确认、2已确认(待审核)、3审核通过、4审核未通过、5收款撤销【线上支付成功为审核通过】
|
|
|
* @param smsContent 收款短信
|
|
|
* @param startDate 筛选开始时间
|
|
|
* @param endDate 筛选结束时间
|
|
@@ -471,26 +470,29 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* @param pageSize 每页数量
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson<PageInfo<ReceiptVo>> getReceiptList(String receiptType, String receiptStatus, String smsContent, String startDate, String endDate, String openid, int pageNum, int pageSize) {
|
|
|
+ public ResponseJson<PageInfo<ReceiptVo>> getReceiptList(Integer receiptType, String receiptStatusStr, String smsContent, String startDate, String endDate, String openid, int pageNum, int pageSize) {
|
|
|
ReceiptParamsBo paramsBo = new ReceiptParamsBo();
|
|
|
- // 获取该收款用户下的机构userIds
|
|
|
- List<Integer> clubUserIds = getReceiptClubUserIds(openid, receiptStatus);
|
|
|
- paramsBo.setUserIds(clubUserIds);
|
|
|
+ Integer receiptStatus = null;
|
|
|
if (StringUtils.isNotBlank(smsContent)) {
|
|
|
// 短信内容隐藏余额
|
|
|
String message = hiddenBalance(smsContent);
|
|
|
paramsBo.setSmsMd5Code(Md5Util.md5(message));
|
|
|
}
|
|
|
- if (StringUtils.isNotBlank(receiptStatus)) {
|
|
|
+ if (StringUtils.isNotBlank(receiptStatusStr)) {
|
|
|
String[] receiptStatusArr = null;
|
|
|
- if ("1".equals(receiptStatus)) {
|
|
|
+ if ("1".equals(receiptStatusStr)) {
|
|
|
receiptStatusArr = "1,4,5".split(",");
|
|
|
} else {
|
|
|
- receiptStatusArr = receiptStatus.split(",");
|
|
|
+ receiptStatusArr = receiptStatusStr.split(",");
|
|
|
+ if ("2".equals(receiptStatusStr)){
|
|
|
+ receiptStatus = 2;
|
|
|
+ }
|
|
|
}
|
|
|
- paramsBo.setReceiptStatus(receiptStatus);
|
|
|
paramsBo.setReceiptStatusArr(receiptStatusArr);
|
|
|
}
|
|
|
+ // 获取该收款用户下的机构userIds
|
|
|
+ List<Integer> clubUserIds = getReceiptClubUserIds(openid, receiptStatus);
|
|
|
+ paramsBo.setUserIds(clubUserIds);
|
|
|
// 分页请求数据
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
List<ReceiptVo> list = receiptMapper.getReceiptList(paramsBo);
|
|
@@ -521,7 +523,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
setReceiptDetail(receipt);
|
|
|
String receiptStatus = receipt.getReceiptStatus().toString();
|
|
|
List<OrderVo> orderList = new ArrayList<>();
|
|
|
- if ("1".equals(receiptStatus)) {
|
|
|
+ if (null != receipt.getReceiptStatus() && 1 == receipt.getReceiptStatus()) {
|
|
|
// 待确认
|
|
|
if (StringUtils.isNotBlank(receipt.getOrderFlag())) {
|
|
|
// 订单信息
|
|
@@ -538,7 +540,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(orderList)) {
|
|
|
// 获取该收款用户下的机构userIds
|
|
|
- List<Integer> clubUserIds = getReceiptClubUserIds(openid, receiptStatus);
|
|
|
+ List<Integer> clubUserIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus());
|
|
|
for (OrderVo order : orderList) {
|
|
|
if (4 == receiptUser.getUserType() || clubUserIds.contains(order.getUserId())) {
|
|
|
// 收款详情是否可以查看
|
|
@@ -595,7 +597,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
type = 0;
|
|
|
}
|
|
|
// 获取该收款用户下的机构userIds
|
|
|
- List<Integer> userIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus().toString());
|
|
|
+ List<Integer> userIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus());
|
|
|
String userName = null;
|
|
|
Integer orderId = null;
|
|
|
try {
|
|
@@ -785,7 +787,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
// 收款金额 = 订单应付金额
|
|
|
if (0 == MathUtil.compare(receiptPo.getReceiptAmount(), order.getPayableAmount())) {
|
|
|
//确认关联
|
|
|
- receiptPo.setConfirmType("4");
|
|
|
+ receiptPo.setConfirmType(4);
|
|
|
relation.setReceiptId(receiptPo.getId());
|
|
|
relation.setOrderId(order.getOrderId());
|
|
|
relation.setAssociateAmount(receiptPo.getReceiptAmount());
|
|
@@ -1000,7 +1002,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
* @param openid 微信openid
|
|
|
* @param receiptStatus 收款状态:1待确认、2已确认(待审核)、3审核通过、4审核未通过、5收款撤销【线上支付成功为审核通过】
|
|
|
*/
|
|
|
- private List<Integer> getReceiptClubUserIds(String openid, String receiptStatus) {
|
|
|
+ private List<Integer> getReceiptClubUserIds(String openid, Integer receiptStatus) {
|
|
|
// 收款用户
|
|
|
ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
|
|
|
List<Integer> userIds = null;
|
|
@@ -1028,7 +1030,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
|
|
userIds = new ArrayList<>();
|
|
|
userIds.add(0);
|
|
|
}
|
|
|
- if (null != userType && 2 == userType && "2".equals(receiptStatus)) {
|
|
|
+ if (null != userType && 2 == userType && null != receiptStatus && 2 == receiptStatus) {
|
|
|
// 客服可以查看所有待审核收款
|
|
|
userIds = null;
|
|
|
}
|