lihang
2023-06-15 b48356e1b39f8e812f85d1627c0fc18e1f4d58ba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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);
    }
}