From 23dd44ad6e0e15426d7aa125954dc43b8920e197 Mon Sep 17 00:00:00 2001 From: liao Date: Wed, 18 Oct 2023 16:30:32 +0800 Subject: [PATCH] =?UTF-8?q?add=20ASMS=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=8E=9F=E5=AD=97=E5=85=B8=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LawsAsmsOpenApiController.java | 8 +++++ .../api/mapper/LawsAsmsOpenApiMapper.java | 14 ++++++-- .../api/mapper/xml/LawsAsmsOpenApiMapper.xml | 6 ++++ .../api/service/ILawsAsmsOpenApiService.java | 7 ++++ .../impl/LawsAsmsOpenApiServiceImpl.java | 33 +++++++++++++++++-- 5 files changed, 63 insertions(+), 5 deletions(-) diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/controller/LawsAsmsOpenApiController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/controller/LawsAsmsOpenApiController.java index 40ffcd5c..bd118ca8 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/controller/LawsAsmsOpenApiController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/controller/LawsAsmsOpenApiController.java @@ -180,4 +180,12 @@ public class LawsAsmsOpenApiController extends JeroController removeDictItemBatch(@RequestParam(name="ids") String ids) { + lawsAsmsOpenApiService.removeDictItemBatch(Arrays.asList(ids.split(","))); + return Result.OK("操作成功"); + } + } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/LawsAsmsOpenApiMapper.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/LawsAsmsOpenApiMapper.java index 6b4d11e5..44c8bd94 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/LawsAsmsOpenApiMapper.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/LawsAsmsOpenApiMapper.java @@ -1,10 +1,11 @@ package com.jero.modules.docking.asms.api.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 汽车标准数字化平台ASMS开放API接口管理 @@ -12,6 +13,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @Date: 2023-10-18 * @Version: V1.0 */ +@Mapper public interface LawsAsmsOpenApiMapper extends BaseMapper { + /** + * @Author: liao + * @Date: 2023/10/18 16:25 + * @Description: 物理删除字典配置项数据 + **/ + void removeDictItemBatch(@Param("dictIdList") List dictIdList); } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/xml/LawsAsmsOpenApiMapper.xml b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/xml/LawsAsmsOpenApiMapper.xml index db7ea632..95a5c436 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/xml/LawsAsmsOpenApiMapper.xml +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/mapper/xml/LawsAsmsOpenApiMapper.xml @@ -9,4 +9,10 @@ + + DELETE FROM sys_dict_item WHERE dict_id IN + + #{item} + + \ No newline at end of file diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/ILawsAsmsOpenApiService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/ILawsAsmsOpenApiService.java index 42ba08b5..78ae49bb 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/ILawsAsmsOpenApiService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/ILawsAsmsOpenApiService.java @@ -80,4 +80,11 @@ public interface ILawsAsmsOpenApiService extends IService { * @Description: 批量同步 **/ void syncBatch(List idList); + + /** + * @Author: liao + * @Date: 2023/10/18 16:20 + * @Description: 批量删除原字典配置项 + **/ + void removeDictItemBatch(List idList); } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/impl/LawsAsmsOpenApiServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/impl/LawsAsmsOpenApiServiceImpl.java index 09212c52..66bc2ba7 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/impl/LawsAsmsOpenApiServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/api/service/impl/LawsAsmsOpenApiServiceImpl.java @@ -48,6 +48,8 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl dictItemList = sysDictItemService.list(queryWrapper); List codeList; + List insertDictItemList = new ArrayList(); + List updateDictItemList = new ArrayList(); if (CollectionUtils.isNotEmpty(dictItemList)) { codeList = dictItemList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList()); } else { @@ -204,12 +208,21 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl e.getItemValue().equals(dictItem.getItemValue())) .collect(Collectors.toList()).get(0).getId()); - sysDictItemService.updateById(dictItem); + updateDictItemList.add(dictItem); } else { // 如果不存在则新增 - sysDictItemService.save(dictItem); + insertDictItemList.add(dictItem); } } + // 操作数据库 + if (CollectionUtils.isNotEmpty(updateDictItemList)) { + // 更新 + sysDictItemService.updateBatchById(updateDictItemList); + } + if (CollectionUtils.isNotEmpty(insertDictItemList)) { + // 新增 + sysDictItemService.saveBatch(insertDictItemList); + } // 状态设置为已同步 lawsAsmsOpenApi.setStatus("1"); } @@ -218,4 +231,20 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl idList) { + List lawsAsmsOpenApiList = listByIds(idList); + List dictIdList = lawsAsmsOpenApiList.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictId())) + .map(LawsAsmsOpenApi::getDictId).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(dictIdList)) { + lawsAsmsOpenApiMapper.removeDictItemBatch(dictIdList); + } + } }