Commit d3547f53 authored by 赵啸非's avatar 赵啸非

添加应用白名单接口

parent 54a8c009
package com.mortals.xhx.feign.app;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.app.AppPdu;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 自助终端应用 Feign接口
* @author zxfei
* @date 2023-02-17
*/
@FeignClient(name = "base-manager", path = "/base", fallbackFactory = AppFeignFallbackFactory.class)
public interface IAppFeign extends IFeign {
/**
* 查看自助终端应用列表
*
* @param appPdu
* @return
*/
@PostMapping(value = "/app/list")
Rest<RespData<List<AppPdu>>> list(@RequestBody AppPdu appPdu);
/**
* 查看自助终端应用
*
* @param id
* @return
*/
@GetMapping(value = "/app/info")
Rest<AppPdu> info(@RequestParam(value = "id") Long id);
/**
* 删除自助终端应用
*
* @param ids
* @return
*/
@GetMapping(value = "/app/delete")
Rest<Void> delete(Long[] ids,@RequestHeader("Authorization") String authorization);
/**
* 自助终端应用保存更新
*
* @param appPdu
* @return
*/
@PostMapping(value = "/app/save")
Rest<RespData<AppPdu>> save(@RequestBody AppPdu appPdu,@RequestHeader("Authorization") String authorization);
}
@Slf4j
@Component
class AppFeignFallbackFactory implements FallbackFactory<IAppFeign> {
@Override
public IAppFeign create(Throwable t) {
return new IAppFeign() {
@Override
public Rest<RespData<List<AppPdu>>> list(AppPdu appPdu) {
return Rest.fail("暂时无法获取自助终端应用列表,请稍后再试!");
}
@Override
public Rest<AppPdu> info(Long id) {
return Rest.fail("暂时无法获取自助终端应用详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除自助终端应用,请稍后再试!");
}
@Override
public Rest<RespData<AppPdu>> save(AppPdu appPdu, String authorization) {
return Rest.fail("暂时无法保存自助终端应用,请稍后再试!");
}
};
}
}
......@@ -34,4 +34,6 @@ public final class Constant {
public final static String PARAMS_HOTWORDS_DEFAULT_NUM = "hotwords_default_num";
public final static String PARAMS_WHITE_APP_LIST = "white_app_list";
}
......@@ -55,9 +55,6 @@ public class DeviceServiceImpl extends AbstractCRUDServiceImpl<DeviceDao, Device
BeanUtils.copyProperties(item, deviceEntity, BeanUtil.getNullPropertyNames(item));
return deviceEntity;
}).collect(Collectors.toList());
result.setList(collect);
result.setDict(rest.getDict());
}
......
......@@ -8,21 +8,20 @@ import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.HttpUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.NewsSourceEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.utils.MemoryPagination;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.app.AppPdu;
import com.mortals.xhx.feign.app.IAppFeign;
import com.mortals.xhx.feign.base.IApiBaseManagerFeign;
import com.mortals.xhx.feign.base.pdu.DeptPdu;
import com.mortals.xhx.feign.base.pdu.SitePdu;
......@@ -32,7 +31,6 @@ import com.mortals.xhx.module.baseset.model.BasesetEntity;
import com.mortals.xhx.module.baseset.model.BasesetQuery;
import com.mortals.xhx.module.baseset.service.BasesetService;
import com.mortals.xhx.module.home.pdu.HomeQueryPdu;
import com.mortals.xhx.module.home.pdu.NoticeQueryPdu;
import com.mortals.xhx.module.hotword.model.HotwordEntity;
import com.mortals.xhx.module.hotword.model.HotwordQuery;
import com.mortals.xhx.module.hotword.service.HotwordService;
......@@ -40,24 +38,20 @@ import com.mortals.xhx.module.matter.model.*;
import com.mortals.xhx.module.matter.service.MatterDatumPrintService;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import com.mortals.xhx.module.matter.service.MatterService;
import org.apache.poi.ss.formula.functions.T;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
import static com.mortals.framework.ap.SysConstains.MESSAGE_INFO;
import static com.mortals.framework.ap.SysConstains.PAGEINFO_KEY;
@RestController
@RequestMapping("home")
public class HomeController extends BaseJsonBodyController {
@Autowired
private IApiBaseManagerFeign iApiBaseManagerFeign;
private IAppFeign appFeign;
@Autowired
private IApiBaseManagerFeign apiBaseManagerFeign;
@Autowired
private MatterDatumService matterDatumService;
@Autowired
......@@ -84,7 +78,6 @@ public class HomeController extends BaseJsonBodyController {
int code = 1;
try {
if (StringUtils.isNotEmpty(user.getSiteIds())) {
SitePdu sitePdu = new SitePdu();
List<String> siteIds = Arrays.asList(user.getSiteIds().split(","));
......@@ -93,7 +86,7 @@ public class HomeController extends BaseJsonBodyController {
idList.add(DataUtil.converStr2Long(s, 0));
});
sitePdu.setIdList(idList);
String resp = iApiBaseManagerFeign.getSitesByQuery(sitePdu);
String resp = apiBaseManagerFeign.getSitesByQuery(sitePdu);
ApiResp<JSONObject> apiResp = JSON.parseObject(resp, ApiResp.class);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取用户站点列表树数据失败:" + apiResp.getMsg());
......@@ -158,7 +151,7 @@ public class HomeController extends BaseJsonBodyController {
DeptPdu deptPdu = new DeptPdu();
deptPdu.setSiteId(queryPdu.getSiteId());
deptPdu.setSize(-1);
String resp = iApiBaseManagerFeign.getDeptByQuery(deptPdu);
String resp = apiBaseManagerFeign.getDeptByQuery(deptPdu);
ApiResp<JSONObject> apiResp = JSON.parseObject(resp, ApiResp.class);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取用户站点部门列表失败:" + apiResp.getMsg());
......@@ -349,5 +342,31 @@ public class HomeController extends BaseJsonBodyController {
return ret;
}
/**
* 自助服务应用
* @return
*/
@GetMapping({"app/list"})
@UnAuth
public String appList(Long siteId) {
String appWhiteStr = GlobalSysInfo.getParamValue(Constant.PARAMS_WHITE_APP_LIST, "中心简介,办事指南,意见建议,中心简介");
Set<String> appWhiteSet = StrUtil.split(appWhiteStr, ",").stream().collect(Collectors.toSet());
Rest<List<AppPdu>> ret = new Rest();
List<AppPdu> collect =new ArrayList<>();
int code = VALUE_RESULT_SUCCESS;
try {
AppPdu appPdu = new AppPdu();
appPdu.setSiteId(siteId);
Rest<RespData<List<AppPdu>>> appRest = appFeign.list(appPdu);
if(appRest.getCode()==YesNoEnum.YES.getValue()){
collect = appRest.getData().getData().stream().filter(f -> appWhiteSet.contains(f.getAppName())).collect(Collectors.toList());
}
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
}
ret.setCode(code);
ret.setData(collect);
return JSONObject.toJSONString(ret);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment