add ASMS对接-同步普通字典接口
This commit is contained in:
+1
-2
@@ -175,8 +175,7 @@ public class LawsAsmsOpenApiController extends JeroController<LawsAsmsOpenApi, I
|
|||||||
@ApiOperation(value="批量同步", notes="批量同步")
|
@ApiOperation(value="批量同步", notes="批量同步")
|
||||||
@GetMapping(value = "/syncBatch")
|
@GetMapping(value = "/syncBatch")
|
||||||
public Result<Object> syncBatch(@RequestParam(name="ids") String ids) {
|
public Result<Object> syncBatch(@RequestParam(name="ids") String ids) {
|
||||||
List<LawsAsmsOpenApi> lawsAsmsOpenApiList = lawsAsmsOpenApiService.listByIds(Arrays.asList(ids.split(",")));
|
lawsAsmsOpenApiService.syncBatch(Arrays.asList(ids.split(",")));
|
||||||
|
|
||||||
return Result.OK("操作成功");
|
return Result.OK("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
@@ -73,4 +73,11 @@ public interface ILawsAsmsOpenApiService extends IService<LawsAsmsOpenApi> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
LawsAsmsOpenApi queryById(String id);
|
LawsAsmsOpenApi queryById(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/18 13:46
|
||||||
|
* @Description: 批量同步
|
||||||
|
**/
|
||||||
|
void syncBatch(List<String> idList);
|
||||||
}
|
}
|
||||||
|
|||||||
+82
@@ -1,13 +1,28 @@
|
|||||||
package com.jero.modules.docking.asms.api.service.impl;
|
package com.jero.modules.docking.asms.api.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
||||||
import com.jero.modules.docking.asms.api.mapper.LawsAsmsOpenApiMapper;
|
import com.jero.modules.docking.asms.api.mapper.LawsAsmsOpenApiMapper;
|
||||||
import com.jero.modules.docking.asms.api.service.ILawsAsmsOpenApiService;
|
import com.jero.modules.docking.asms.api.service.ILawsAsmsOpenApiService;
|
||||||
|
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
||||||
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
|
import com.jero.modules.system.service.ISysDictItemService;
|
||||||
|
import com.spire.ms.System.Collections.ArrayList;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@@ -22,9 +37,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMapper, LawsAsmsOpenApi> implements ILawsAsmsOpenApiService {
|
public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMapper, LawsAsmsOpenApi> implements ILawsAsmsOpenApiService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AsmsPostUtil asmsPostUtil;
|
||||||
|
@Autowired
|
||||||
|
private ISysDictItemService sysDictItemService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
@@ -39,6 +59,7 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
|
|||||||
public IPage<LawsAsmsOpenApi> queryPage(LawsAsmsOpenApi lawsAsmsOpenApi, Integer pageNo, Integer pageSize,
|
public IPage<LawsAsmsOpenApi> queryPage(LawsAsmsOpenApi lawsAsmsOpenApi, Integer pageNo, Integer pageSize,
|
||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
QueryWrapper<LawsAsmsOpenApi> queryWrapper = QueryGenerator.initQueryWrapper(lawsAsmsOpenApi, req.getParameterMap());
|
QueryWrapper<LawsAsmsOpenApi> queryWrapper = QueryGenerator.initQueryWrapper(lawsAsmsOpenApi, req.getParameterMap());
|
||||||
|
queryWrapper.orderByDesc("id");
|
||||||
Page<LawsAsmsOpenApi> page = new Page<>(pageNo, pageSize);
|
Page<LawsAsmsOpenApi> page = new Page<>(pageNo, pageSize);
|
||||||
return page(page, queryWrapper);
|
return page(page, queryWrapper);
|
||||||
}
|
}
|
||||||
@@ -109,4 +130,65 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
|
|||||||
public LawsAsmsOpenApi queryById(String id) {
|
public LawsAsmsOpenApi queryById(String id) {
|
||||||
return getById(id);
|
return getById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/18 13:46
|
||||||
|
* @Description: 批量同步
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void syncBatch(List<String> idList) {
|
||||||
|
List<LawsAsmsOpenApi> lawsAsmsOpenApiList = listByIds(idList);
|
||||||
|
|
||||||
|
lawsAsmsOpenApiList.forEach(lawsAsmsOpenApi -> {
|
||||||
|
|
||||||
|
Map<String, String> map = null;
|
||||||
|
if (StringUtils.isNotBlank(lawsAsmsOpenApi.getQueryParamJson())) {
|
||||||
|
map = (Map<String, String>) JSON.parse(lawsAsmsOpenApi.getQueryParamJson());
|
||||||
|
}
|
||||||
|
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
|
||||||
|
|
||||||
|
if ("1".equals(lawsAsmsOpenApi.getApiType())
|
||||||
|
&& StringUtils.isNotBlank(lawsAsmsOpenApi.getDictId()) && !Objects.isNull(mapList)) {
|
||||||
|
// 如果是普通字典类型、字典id不为空、返回的数据不为空,则进行数据字典同步操作
|
||||||
|
List<SysDictItem> dictItemList = new ArrayList();
|
||||||
|
|
||||||
|
// 删除该字典的全部数据项
|
||||||
|
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(SysDictItem::getDictId, lawsAsmsOpenApi.getDictId());
|
||||||
|
sysDictItemService.remove(queryWrapper);
|
||||||
|
log.info("删除”{}“的全部字典数据项...", lawsAsmsOpenApi.getApiName());
|
||||||
|
|
||||||
|
// 封装数据
|
||||||
|
for (int i = 0; i < mapList.size(); i++) {
|
||||||
|
Map<String, String> eMap = mapList.get(i);
|
||||||
|
SysDictItem dictItem = new SysDictItem();
|
||||||
|
// 字典id
|
||||||
|
dictItem.setDictId(lawsAsmsOpenApi.getDictId());
|
||||||
|
// 是否标签管理显示(显示)
|
||||||
|
dictItem.setIsTagDict(1);
|
||||||
|
// 状态(启用)
|
||||||
|
dictItem.setStatus(1);
|
||||||
|
dictItem.setDelFlag(0);
|
||||||
|
// 排序
|
||||||
|
dictItem.setSortOrder(i + 1);
|
||||||
|
eMap.forEach((k, v) -> {
|
||||||
|
if ("code".equals(k)) {
|
||||||
|
// 字典项值
|
||||||
|
dictItem.setItemValue(v);
|
||||||
|
} else if ("name".equals(k)) {
|
||||||
|
// 字典项名称
|
||||||
|
dictItem.setItemText(v);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dictItemList.add(dictItem);
|
||||||
|
}
|
||||||
|
// 保存到数据库
|
||||||
|
sysDictItemService.saveBatch(dictItemList);
|
||||||
|
log.info("添加”{}“的字典数据项{}条数据...", lawsAsmsOpenApi.getApiName(), dictItemList.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user