add 标准化活动基础代码

This commit is contained in:
liao
2023-10-23 10:38:00 +08:00
parent 406c6687a2
commit 81be544225
9 changed files with 549 additions and 0 deletions
@@ -22,4 +22,12 @@ public interface LawsAsmsOpenApiMapper extends BaseMapper<LawsAsmsOpenApi> {
* @Description: 物理删除字典配置项数据
**/
void removeDictItemBatch(@Param("dictIdList") List<String> dictIdList);
/**
* @Author: liao
* @Date: 2023/10/23 9:54
* @Description: 获取asms国内法规的标准性质列表
**/
List<String> getStandardTypeList();
}
@@ -15,4 +15,8 @@
#{item}
</foreach>
</delete>
<select id="getStandardTypeList" resultType="java.lang.String">
SELECT DISTINCT SUBSTRING_INDEX(ID, ' ', 1) AS first_part
FROM laws_asms_domestic;
</select>
</mapper>
@@ -289,6 +289,49 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
lawsAsmsDomesticService.updateBatchById(updateList);
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), lawsAsmsDomesticList.size());
}
} else if ("4".equals(lawsAsmsOpenApi.getApiType()) && "A".equals(lawsAsmsOpenApi.getApiUrl())) {
// 同步标准类别(国内)
String standardTypeDictId = "1695983156705095681";
List<String> standardTypeList = lawsAsmsOpenApiMapper.getStandardTypeList();
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictItem::getDictId, standardTypeDictId);
queryWrapper.in(SysDictItem::getItemValue, standardTypeList);
List<SysDictItem> sysDictItems = sysDictItemService.list(queryWrapper);
if (CollectionUtils.isNotEmpty(sysDictItems)) {
List<String> itemValueList = sysDictItems.stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
standardTypeList.removeAll(itemValueList);
}
if (CollectionUtils.isNotEmpty(standardTypeList)) {
List<SysDictItem> dictItemList = new ArrayList();
for (int i = 0; i < standardTypeList.size(); i++) {
SysDictItem dictItem = new SysDictItem();
// 字典id
dictItem.setDictId(standardTypeDictId);
// 是否标签管理显示(显示)
dictItem.setIsTagDict(1);
// 状态(启用)
dictItem.setStatus(1);
dictItem.setDelFlag(0);
// 排序
dictItem.setSortOrder(i + 1);
dictItem.setItemValue(standardTypeList.get(i));
dictItem.setItemText(standardTypeList.get(i));
dictItemList.add(dictItem);
}
sysDictItemService.saveBatch(dictItemList);
}
// 状态设置为已同步
lawsAsmsOpenApi.setStatus("1");
} else if ("4".equals(lawsAsmsOpenApi.getApiType()) && "B".equals(lawsAsmsOpenApi.getApiUrl())) {
// 国内法规同步到业务表
List<LawsAsmsDomestic> lawsAsmsDomesticList = lawsAsmsDomesticService.list();
lawsAsmsDomesticList.forEach(lawsAsmsDomestic -> {
});
// 状态设置为已同步
lawsAsmsOpenApi.setStatus("1");
}
});
// 同步接口的状态