|
|
@@ -2,6 +2,11 @@ package com.uas.platform.b2c.fa.settlement.service.impl;
|
|
|
|
|
|
import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
|
|
|
import com.uas.platform.b2c.common.account.model.Enterprise;
|
|
|
+import com.uas.platform.b2c.common.message.model.MessageModel;
|
|
|
+import com.uas.platform.b2c.common.message.type.ConsumerApp;
|
|
|
+import com.uas.platform.b2c.common.message.type.ConsumerType;
|
|
|
+import com.uas.platform.b2c.common.message.type.SMSType;
|
|
|
+import com.uas.platform.b2c.common.psmessage.service.MessageService;
|
|
|
import com.uas.platform.b2c.core.config.SysConf;
|
|
|
import com.uas.platform.b2c.core.constant.SplitChar;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
@@ -19,10 +24,14 @@ import com.uas.platform.b2c.fa.settlement.model.RequestPayment;
|
|
|
import com.uas.platform.b2c.fa.settlement.service.SettlementService;
|
|
|
import com.uas.platform.b2c.fa.settlement.util.SettlementUtil;
|
|
|
import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
|
|
|
+import com.uas.platform.b2c.trade.order.StringConstant.StringFormat;
|
|
|
import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
|
|
|
import com.uas.platform.b2c.trade.order.dao.PurchaseDetailDao;
|
|
|
+import com.uas.platform.b2c.trade.order.model.MessageNotifyPersonalManagement;
|
|
|
import com.uas.platform.b2c.trade.order.model.Purchase;
|
|
|
import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
|
|
|
+import com.uas.platform.b2c.trade.order.service.MessageNotifyPersonalManagementService;
|
|
|
+import com.uas.platform.b2c.trade.order.type.MessageType;
|
|
|
import com.uas.platform.b2c.trade.support.CodeType;
|
|
|
import com.uas.platform.b2c.trade.support.ResultMap;
|
|
|
import com.uas.platform.b2c.trade.util.Preconditions;
|
|
|
@@ -75,23 +84,28 @@ public class SettlementServiceImpl implements SettlementService {
|
|
|
|
|
|
private final SysConf sysConf;
|
|
|
|
|
|
+ private final MessageService messageService;
|
|
|
+
|
|
|
+ private final MessageNotifyPersonalManagementService messageNotifyPersonalManagementService;
|
|
|
+
|
|
|
/**
|
|
|
* Instantiates a new Settlement service.
|
|
|
- *
|
|
|
- * @param enterpriseDao the enterprise dao
|
|
|
+ * @param enterpriseDao the enterprise dao
|
|
|
* @param purchaseDao the purchase dao
|
|
|
- * @param purchaseDetailDao the purchase detail dao
|
|
|
- * @param requestPaymentDao the request payment dao
|
|
|
- * @param createNumberService the create number service
|
|
|
- * @param transferService the transfer service
|
|
|
- * @param bankTransAssociateService the bank trans associate service
|
|
|
- * @param transAssociateDao the trans associate dao
|
|
|
- * @param bankTransferDao the bank transfer dao
|
|
|
- * @param sysConf the sys conf
|
|
|
- */
|
|
|
+ * @param purchaseDetailDao the purchase detail dao
|
|
|
+ * @param requestPaymentDao the request payment dao
|
|
|
+ * @param createNumberService the create number service
|
|
|
+ * @param transferService the transfer service
|
|
|
+ * @param bankTransAssociateService the bank trans associate service
|
|
|
+ * @param transAssociateDao the trans associate dao
|
|
|
+ * @param bankTransferDao the bank transfer dao
|
|
|
+ * @param sysConf the sys conf
|
|
|
+ * @param messageService
|
|
|
+ * @param messageNotifyPersonalManagementService
|
|
|
+ */
|
|
|
@Autowired
|
|
|
public SettlementServiceImpl(EnterpriseDao enterpriseDao, PurchaseDao purchaseDao, PurchaseDetailDao purchaseDetailDao,
|
|
|
- RequestPaymentDao requestPaymentDao, CreateNumberService createNumberService, BankTransferService transferService, BankTransAssociateService bankTransAssociateService, BankTransAssociateDao transAssociateDao, BankTransferDao bankTransferDao, SysConf sysConf) {
|
|
|
+ RequestPaymentDao requestPaymentDao, CreateNumberService createNumberService, BankTransferService transferService, BankTransAssociateService bankTransAssociateService, BankTransAssociateDao transAssociateDao, BankTransferDao bankTransferDao, SysConf sysConf, MessageService messageService, MessageNotifyPersonalManagementService messageNotifyPersonalManagementService) {
|
|
|
this.enterpriseDao = enterpriseDao;
|
|
|
this.purchaseDao = purchaseDao;
|
|
|
this.purchaseDetailDao = purchaseDetailDao;
|
|
|
@@ -102,7 +116,9 @@ public class SettlementServiceImpl implements SettlementService {
|
|
|
this.transAssociateDao = transAssociateDao;
|
|
|
this.bankTransferDao = bankTransferDao;
|
|
|
this.sysConf = sysConf;
|
|
|
- }
|
|
|
+ this.messageService = messageService;
|
|
|
+ this.messageNotifyPersonalManagementService = messageNotifyPersonalManagementService;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 根据关键字分页查询待结算采购单企业信息
|
|
|
@@ -323,9 +339,40 @@ public class SettlementServiceImpl implements SettlementService {
|
|
|
payment.setSettleTime(calendar.getTime());
|
|
|
|
|
|
requestPaymentDao.save(payment);
|
|
|
+ sendFinancialSettlementMessage(payment.getRequestId());
|
|
|
return payment.getRequestId();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成站内信消息
|
|
|
+ *
|
|
|
+ * @param paymentId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void sendFinancialSettlementMessage(String paymentId) {
|
|
|
+ List<MessageNotifyPersonalManagement> notifyPersonalEnuuAndType = messageNotifyPersonalManagementService.findNotifyPersonalEnuuAndType(sysConf.getEnUU(), MessageType.FINANCIAL_SETTLEMENT.getType());
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(notifyPersonalEnuuAndType)) {
|
|
|
+ List<MessageModel> sendMessageModel = new ArrayList<>();
|
|
|
+ MessageNotifyPersonalManagement management = notifyPersonalEnuuAndType.get(0);
|
|
|
+ String notifyPersonalUseruu = management.getNotifyPersonalUseruu();
|
|
|
+ if (!StringUtils.isEmpty(notifyPersonalUseruu)) {
|
|
|
+ String[] useruus = notifyPersonalUseruu.split(SplitChar.HYPHEN);
|
|
|
+ for (String useruu : useruus) {
|
|
|
+ try {
|
|
|
+ Long uu = Long.valueOf(useruu);
|
|
|
+ MessageModel model = messageService.initMessage(String.format(StringFormat.FINANCIAL_SETTLEMENT, paymentId), MessageType.FINANCIAL_SETTLEMENT.getType(), uu, sysConf.getEnUU(), ConsumerType.SINGLE, ConsumerApp.MALL, SMSType.DONT_SEND);
|
|
|
+ sendMessageModel.add(model);
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(sendMessageModel)) {
|
|
|
+ messageService.sendMessage(sendMessageModel);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 计算付款单佣金
|
|
|
*
|