浏览代码

中台 律所新增增加联系电话

qxy 4 天之前
父节点
当前提交
a3fac42d7e

+ 27 - 4
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawFirmServiceImpl.java

@@ -103,11 +103,32 @@ public class LawFirmServiceImpl extends ServiceImpl<LawFirmMapper, LawFirm> impl
             existingLawFirm = this.getOne(creditCodeWrapper);
         }
         
-        // existingLawFirm 不为空执行更新子表,否则执行新增主子表操作
+        // existingLawFirm 不为空执行更新主表和子表,否则执行新增主子表操作
         if (existingLawFirm != null) {
-            // 更新子表操作:只更新子表数据,不更新主表
+            // 更新主表和子表操作
             Integer firmId = existingLawFirm.getId();
-            log.info("统一社会信用代码[{}]已存在,只更新子表数据,律所ID={}", lawFirm.getCreditCode(), firmId);
+            log.info("统一社会信用代码[{}]已存在,更新主表和子表数据,律所ID={}", lawFirm.getCreditCode(), firmId);
+            
+            // 更新主表数据:将新传入的字段更新到现有记录中
+            lawFirm.setId(firmId);
+            // 保留原有的一些字段(如果新数据没有提供)
+            if (!StringUtils.hasText(lawFirm.getFirmName())) {
+                lawFirm.setFirmName(existingLawFirm.getFirmName());
+            }
+            if (lawFirm.getStatus() == null) {
+                lawFirm.setStatus(existingLawFirm.getStatus());
+            }
+            if (lawFirm.getDeleteFlag() == null) {
+                lawFirm.setDeleteFlag(existingLawFirm.getDeleteFlag());
+            }
+            
+            // 更新主表
+            boolean updateResult = this.updateById(lawFirm);
+            if (!updateResult) {
+                log.error("更新律所主表失败,firmId={}", firmId);
+                return R.fail("更新律所信息失败");
+            }
+            log.info("更新律所主表成功,firmId={}", firmId);
             
             // 保存子表数据
             if (lawFirm.getPaymentList() != null && !lawFirm.getPaymentList().isEmpty()) {
@@ -146,7 +167,9 @@ public class LawFirmServiceImpl extends ServiceImpl<LawFirmMapper, LawFirm> impl
                 }
             }
             
-            return R.data(existingLawFirm, "统一社会信用代码已存在,已更新收款账号列表");
+            // 重新查询更新后的数据返回
+            LawFirm updatedLawFirm = this.getById(firmId);
+            return R.data(updatedLawFirm, "统一社会信用代码已存在,已更新律所信息和收款账号列表");
         } else {
             // 新增主子表操作
             // 保存主表

+ 27 - 4
alien-store/src/main/java/shop/alien/store/service/impl/StoreLawFirmServiceImpl.java

@@ -139,11 +139,32 @@ public class StoreLawFirmServiceImpl extends ServiceImpl<LawFirmMapper, LawFirm>
             existingLawFirm = this.getOne(creditCodeWrapper);
         }
         
-        // existingLawFirm 不为空执行更新子表,否则执行新增主子表操作
+        // existingLawFirm 不为空执行更新主表和子表,否则执行新增主子表操作
         if (existingLawFirm != null) {
-            // 更新子表操作:只更新子表数据,不更新主表
+            // 更新主表和子表操作
             Integer firmId = existingLawFirm.getId();
-            log.info("统一社会信用代码[{}]已存在,只更新子表数据,律所ID={}", lawFirm.getCreditCode(), firmId);
+            log.info("统一社会信用代码[{}]已存在,更新主表和子表数据,律所ID={}", lawFirm.getCreditCode(), firmId);
+            
+            // 更新主表数据:将新传入的字段更新到现有记录中
+            lawFirm.setId(firmId);
+            // 保留原有的一些字段(如果新数据没有提供)
+            if (!StringUtils.hasText(lawFirm.getFirmName())) {
+                lawFirm.setFirmName(existingLawFirm.getFirmName());
+            }
+            if (lawFirm.getStatus() == null) {
+                lawFirm.setStatus(existingLawFirm.getStatus());
+            }
+            if (lawFirm.getDeleteFlag() == null) {
+                lawFirm.setDeleteFlag(existingLawFirm.getDeleteFlag());
+            }
+            
+            // 更新主表
+            boolean updateResult = this.updateById(lawFirm);
+            if (!updateResult) {
+                log.error("更新律所主表失败,firmId={}", firmId);
+                return R.fail("更新律所信息失败");
+            }
+            log.info("更新律所主表成功,firmId={}", firmId);
             
             // 保存子表数据
             if (lawFirm.getPaymentList() != null && !lawFirm.getPaymentList().isEmpty()) {
@@ -182,7 +203,9 @@ public class StoreLawFirmServiceImpl extends ServiceImpl<LawFirmMapper, LawFirm>
                 }
             }
             
-            return R.data(existingLawFirm, "统一社会信用代码已存在,已更新收款账号列表");
+            // 重新查询更新后的数据返回
+            LawFirm updatedLawFirm = this.getById(firmId);
+            return R.data(updatedLawFirm, "统一社会信用代码已存在,已更新律所信息和收款账号列表");
         } else {
             // 新增主子表操作
             // 保存主表