Procházet zdrojové kódy

回款修改关联修改消息

ljy121 před 1 rokem
rodič
revize
f51c2e8d34

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/service/ContractMessageService.java

@@ -55,5 +55,7 @@ public interface ContractMessageService {
     void addByReturnMoney(ContractReturnMoney contractReturnMoney);
 
     Page<ContractMessageResponse> homePage(ContractMessageDto contractMessageDto);
+
+    void deleteByReturnMoneyId(String id);
 }
 

+ 27 - 9
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractMessageServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zjugis.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zjugis.business.bean.dto.ContractMessageDto;
 import com.zjugis.business.bean.entity.Contract;
@@ -133,18 +134,25 @@ public class ContractMessageServiceImpl implements ContractMessageService {
      */
     @Override
     public void addByReturnMoney(ContractReturnMoney contractReturnMoney) {
-        ContractMessage message = new ContractMessage();
-        message.setContractId(contractReturnMoney.getContractId());
-        message.setBusinessId(contractReturnMoney.getId());
-        message.setMessageType(ContractMessageContants.TYPE_RETURN);
+        ContractMessage message = null;
+        if(StringUtils.isNotBlank(contractReturnMoney.getId())){
+            message = contractMessageMapper.selectById(contractReturnMoney.getId());
+        }
         Contract contract = contractService.selectByPrimaryKey(contractReturnMoney.getContractId());
         BigDecimal amount = contractReturnMoney.getReturnAmount().setScale(2, RoundingMode.HALF_UP);
-        String content = "[回款]已回款:¥" + amount +  " " + StringUtils.join(Arrays.asList(contract.getName(), contract.getContractOn(),"¥" + amount,contract.getAreaManager()),"/");
-        message.setMessageContent(content);
-        int insert = contractMessageMapper.insert(message);
-        if(insert> 0){
-            sendMsg(contract,content);
+        String content = "[回款]已回款:¥" + amount + " " + StringUtils.join(Arrays.asList(contract.getName(), contract.getContractOn(), "¥" + amount, contract.getAreaManager()), "/");
+        if(message == null) {
+            message = new ContractMessage();
+            message.setContractId(contractReturnMoney.getContractId());
+            message.setBusinessId(contractReturnMoney.getId());
+            message.setMessageType(ContractMessageContants.TYPE_RETURN);
+            message.setMessageContent(content);
+            contractMessageMapper.insert(message);
+        } else {
+            message.setMessageContent(content);
+            contractMessageMapper.updateById(message);
         }
+        sendMsg(contract,content);
     }
 
     /**
@@ -162,6 +170,16 @@ public class ContractMessageServiceImpl implements ContractMessageService {
         return contractMessageMapper.page(page,contractMessageDto);
     }
 
+    /**
+     * @param id
+     */
+    @Override
+    public void deleteByReturnMoneyId(String id) {
+        QueryWrapper<ContractMessage> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("BUSINESS_ID",id).eq("MESSAGE_TYPE",2);
+        contractMessageMapper.delete(queryWrapper);
+    }
+
     private void sendMsg(Contract contract,String content) {
         if (StringUtils.isNotBlank(contract.getProjectId())) {
             Project project = projectMapper.selectById(contract.getProjectId());

+ 3 - 1
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractReturnMoneyServiceImpl.java

@@ -107,7 +107,9 @@ public class ContractReturnMoneyServiceImpl implements ContractReturnMoneyServic
      */
     @Override
     public int deleteById(String id) {
-        return contractReturnMoneyMapper.deleteById(id);
+        int del = contractReturnMoneyMapper.deleteById(id);
+        contractMessageService.deleteByReturnMoneyId(id);
+        return del;
     }