package com.vci.ubcs.omd.feign;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.vci.ubcs.omd.entity.Status;
|
import com.vci.ubcs.omd.service.IStatusService;
|
import com.vci.ubcs.omd.vo.StatusVO;
|
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
|
import com.vci.ubcs.starter.web.util.VciBaseUtil;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tenant.annotation.NonDS;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.BeanUtil;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.web.bind.annotation.RestController;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* Description: 状态池的Feign
|
*
|
* @author LiHang
|
* @date 2023/5/23
|
*/
|
@NonDS
|
@ApiIgnore
|
@RestController
|
@AllArgsConstructor
|
public class StatusClient implements IStatusClient{
|
|
private final IStatusService service;
|
/**
|
* 参照列表查询
|
*
|
* @param baseQueryObject 查询条件对象
|
* @return 执行结果
|
*/
|
@Override
|
public R<IPage<StatusVO>> getRefPage(BaseQueryObject baseQueryObject) {
|
Map<String, String> conditionMap = baseQueryObject.getConditionMap();
|
if (conditionMap == null) {
|
conditionMap = new HashMap<>(16);
|
}
|
Map<String,Object> condition = new HashMap<>();
|
BeanUtil.copy(conditionMap,condition);
|
Query query = new Query();
|
query.setCurrent(baseQueryObject.getPage());
|
query.setSize(baseQueryObject.getLimit());
|
return R.data(service.listStatus(condition,query));
|
}
|
|
/**
|
* 参照查询
|
*
|
* @param baseQueryObject 查询条件对象
|
* @return 执行结果
|
*/
|
@Override
|
public R<List<StatusVO>> getRef(BaseQueryObject baseQueryObject) {
|
return R.data(service.listStatusNoPage(baseQueryObject.getConditionMap()));
|
}
|
|
/**
|
* 英文查询中文名称
|
*
|
* @param ids 英文
|
* @return 查询结果
|
*/
|
@Override
|
public R<Map<String,String>> getNameByIds(String ids) {
|
VciBaseUtil.alertNotNull(ids,"英文名称");
|
List<String> idList = Func.toStrList(",", ids);
|
List<Status> list = service.list(Wrappers.<Status>query().lambda().in(Status::getId, idList));
|
Map<String,String> map = new HashMap<>(16);
|
list.stream().peek(s -> {
|
String key = idList.stream().filter(id -> StringUtil.equals(id, s.getId())).findFirst().get();
|
map.put(key,s.getName());
|
});
|
return R.data(map);
|
}
|
}
|