feat: (feature/REQ-3167) 提供terminalInfo的查询,为了兼容以前的逻辑
This commit is contained in:
parent
691340ad88
commit
7ac8b298e3
@ -1,9 +1,11 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.CloneTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.CreateTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.DeleteTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.GetTerminalInfoReq;
|
||||
import cn.axzo.tyr.client.model.req.ListTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.UpdateTerminalReq;
|
||||
import cn.axzo.tyr.client.model.res.TerminalConfigRes;
|
||||
@ -32,6 +34,14 @@ public interface TerminalApi {
|
||||
@PostMapping("/api/terminal/list")
|
||||
ApiResult<List<TerminalRes>> list(@RequestBody ListTerminalReq req);
|
||||
|
||||
/**
|
||||
* 组装以前的端的信息,为了兼容以前TerminalInfo的地方,方便动态使用
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/terminalInfo/get")
|
||||
ApiResult<TerminalInfo> getTerminalInfo(@RequestBody @Validated GetTerminalInfoReq req);
|
||||
|
||||
/**
|
||||
* 新增端
|
||||
* @param req
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.model.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GetTerminalInfoReq {
|
||||
|
||||
/**
|
||||
* 端的code
|
||||
*/
|
||||
@NotBlank(message = "terminalCode不能为空")
|
||||
private String terminalCode;
|
||||
}
|
||||
@ -2,6 +2,7 @@ package cn.axzo.tyr.server.controller.terminal;
|
||||
|
||||
import cn.axzo.foundation.dao.support.mysql.MybatisPlusOperatorProcessor;
|
||||
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
import cn.axzo.tyr.client.feign.TerminalApi;
|
||||
@ -11,6 +12,7 @@ import cn.axzo.tyr.client.model.req.CreateTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.DeleteFeatureResourceReq;
|
||||
import cn.axzo.tyr.client.model.req.DeleteTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.FeatureResourceTreeSaveReq;
|
||||
import cn.axzo.tyr.client.model.req.GetTerminalInfoReq;
|
||||
import cn.axzo.tyr.client.model.req.ListTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.PageSaasFeatureResourceReq;
|
||||
import cn.axzo.tyr.client.model.req.UpdateTerminalReq;
|
||||
@ -19,6 +21,7 @@ import cn.axzo.tyr.client.model.res.TerminalConfigRes;
|
||||
import cn.axzo.tyr.client.model.res.TerminalRes;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import cn.axzo.tyr.server.service.TerminalService;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@ -27,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@ -41,6 +45,8 @@ public class TerminalController implements TerminalApi {
|
||||
@Autowired
|
||||
private TerminalService terminalService;
|
||||
|
||||
private static final String GOV_BIZ_TYPE = "GOV";
|
||||
|
||||
@Override
|
||||
public ApiResult<TerminalConfigRes> getConfig() {
|
||||
return ApiResult.ok(terminalService.getConfig());
|
||||
@ -161,4 +167,29 @@ public class TerminalController implements TerminalApi {
|
||||
featureResourceService.clone(req);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<TerminalInfo> getTerminalInfo(GetTerminalInfoReq req) {
|
||||
List<TerminalRes> terminalRes = this.list(ListTerminalReq.builder()
|
||||
.terminalCode(req.getTerminalCode())
|
||||
.build())
|
||||
.getData();
|
||||
// 找不到端,有可能是以前的旧端设置的,为了兼容,直接使用原来的new TerminalInfo方式返回
|
||||
if (CollectionUtils.isEmpty(terminalRes)) {
|
||||
return ApiResult.ok(new TerminalInfo(req.getTerminalCode()));
|
||||
}
|
||||
|
||||
if (terminalRes.size() > 1) {
|
||||
log.warn("重复的端信息,{}", req.getTerminalCode());
|
||||
}
|
||||
|
||||
return ApiResult.ok(terminalRes.stream()
|
||||
.map(e -> TerminalInfo.builder()
|
||||
.rawTerminalString(req.getTerminalCode())
|
||||
.newTerminalString(req.getTerminalCode())
|
||||
.bizData(new JSONObject().putOpt("isGov", Objects.equals(e.getTerminalBizType(), GOV_BIZ_TYPE)))
|
||||
.build())
|
||||
.findFirst()
|
||||
.orElse(null));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user