Commit 591cc252 authored by 赵啸非's avatar 赵啸非

添加app配置

parent f5752fd7
Pipeline #2969 failed with stages
...@@ -82,3 +82,28 @@ CREATE TABLE `mortals_xhx_datum_info_field` ( ...@@ -82,3 +82,28 @@ CREATE TABLE `mortals_xhx_datum_info_field` (
`updateUserId` bigint(20) DEFAULT NULL COMMENT '修改用户', `updateUserId` bigint(20) DEFAULT NULL COMMENT '修改用户',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='填单用户信息字段'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='填单用户信息字段';
-- ----------------------------
-- 2025-02-11
-- ----------------------------
-- ----------------------------
-- 应用列表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_app_config`;
CREATE TABLE mortals_xhx_app_config(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键,自增长',
`siteId` bigint(20) COMMENT '站点ID',
`siteName` varchar(64) COMMENT '站点名称',
`siteCode` varchar(64) COMMENT '站点编号',
`appId` bigint(20) COMMENT '应用ID',
`appCode` varchar(64) COMMENT '应用编码',
`appName` varchar(64) COMMENT '应用名称',
`order` int(9) COMMENT '应用顺序',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='应用';
\ No newline at end of file
package com.mortals.xhx.module.app.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.app.model.AppConfigEntity;
/**
* 应用列Dao
* 应用列 DAO接口
*
* @author zxfei
* @date 2025-02-11
*/
public interface AppConfigDao extends ICRUDDao<AppConfigEntity,Long>{
}
package com.mortals.xhx.module.app.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.app.dao.AppConfigDao;
import com.mortals.xhx.module.app.model.AppConfigEntity;
import org.springframework.stereotype.Repository;
/**
* 应用列DaoImpl DAO接口
*
* @author zxfei
* @date 2025-02-11
*/
@Repository("appConfigDao")
public class AppConfigDaoImpl extends BaseCRUDDaoMybatis<AppConfigEntity,Long> implements AppConfigDao {
}
package com.mortals.xhx.module.app.model;
import com.mortals.xhx.module.app.model.vo.AppConfigVo;
import lombok.Data;
/**
* 应用列实体对象
*
* @author zxfei
* @date 2025-02-11
*/
@Data
public class AppConfigEntity extends AppConfigVo {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 站点名称
*/
private String siteName;
/**
* 站点编号
*/
private String siteCode;
/**
* 应用ID
*/
private Long appId;
/**
* 应用编码
*/
private String appCode;
/**
* 应用名称
*/
private String appName;
/**
* 应用顺序
*/
private Integer order;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AppConfigEntity) {
AppConfigEntity tmp = (AppConfigEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.siteId = null;
this.siteName = "";
this.siteCode = "";
this.appId = null;
this.appCode = "";
this.appName = "";
this.order = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.module.app.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
import java.util.List;
/**
* 应用列视图对象
*
* @author zxfei
* @date 2025-02-11
*/
@Data
public class AppConfigVo extends BaseEntityLong {
/** 主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.app.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.app.dao.AppConfigDao;
import com.mortals.xhx.module.app.model.AppConfigEntity;
/**
* AppConfigService
*
* 应用列 service接口
*
* @author zxfei
* @date 2025-02-11
*/
public interface AppConfigService extends ICRUDService<AppConfigEntity,Long>{
AppConfigDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.app.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.app.dao.AppConfigDao;
import com.mortals.xhx.module.app.model.AppConfigEntity;
import com.mortals.xhx.module.app.service.AppConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* AppConfigService
* 应用列 service实现
*
* @author zxfei
* @date 2025-02-11
*/
@Service("appConfigService")
@Slf4j
public class AppConfigServiceImpl extends AbstractCRUDServiceImpl<AppConfigDao, AppConfigEntity, Long> implements AppConfigService {
}
\ No newline at end of file
package com.mortals.xhx.module.app.web;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.app.model.AppConfigEntity;
import com.mortals.xhx.module.app.service.AppConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*
* 应用列
*
* @author zxfei
* @date 2025-02-11
*/
@RestController
@RequestMapping("app/config")
public class AppConfigController extends BaseCRUDJsonBodyMappingController<AppConfigService,AppConfigEntity,Long> {
@Autowired
private ParamService paramService;
public AppConfigController(){
super.setModuleDesc( "应用列");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
...@@ -27,6 +27,9 @@ import com.mortals.xhx.feign.base.pdu.DeptPdu; ...@@ -27,6 +27,9 @@ import com.mortals.xhx.feign.base.pdu.DeptPdu;
import com.mortals.xhx.feign.base.pdu.SitePdu; import com.mortals.xhx.feign.base.pdu.SitePdu;
import com.mortals.xhx.feign.rsp.ApiResp; import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.feign.site.ISiteFeign; import com.mortals.xhx.feign.site.ISiteFeign;
import com.mortals.xhx.module.app.model.AppConfigEntity;
import com.mortals.xhx.module.app.model.AppConfigQuery;
import com.mortals.xhx.module.app.service.AppConfigService;
import com.mortals.xhx.module.baseset.model.BasesetEntity; import com.mortals.xhx.module.baseset.model.BasesetEntity;
import com.mortals.xhx.module.baseset.model.BasesetQuery; import com.mortals.xhx.module.baseset.model.BasesetQuery;
import com.mortals.xhx.module.baseset.service.BasesetService; import com.mortals.xhx.module.baseset.service.BasesetService;
...@@ -72,6 +75,8 @@ public class HomeController extends BaseJsonBodyController { ...@@ -72,6 +75,8 @@ public class HomeController extends BaseJsonBodyController {
private MatterDatumPrintService matterDatumPrintService; private MatterDatumPrintService matterDatumPrintService;
@Autowired @Autowired
private DeviceMatterDatumService deviceMatterDatumService; private DeviceMatterDatumService deviceMatterDatumService;
@Autowired
private AppConfigService appConfigService;
@PostMapping({"site/list"}) @PostMapping({"site/list"})
...@@ -314,7 +319,7 @@ public class HomeController extends BaseJsonBodyController { ...@@ -314,7 +319,7 @@ public class HomeController extends BaseJsonBodyController {
matterQuery.setIsRecommend(YesNoEnum.YES.getValue()); matterQuery.setIsRecommend(YesNoEnum.YES.getValue());
List<MatterEntity> matterList = matterService.find(matterQuery, this.getContext()); List<MatterEntity> matterList = matterService.find(matterQuery, this.getContext());
matterList= matterList.stream().map(m->{ matterList = matterList.stream().map(m -> {
MatterEntity matterEntity = new MatterEntity(); MatterEntity matterEntity = new MatterEntity();
matterEntity.setMatterName(m.getMatterName()); matterEntity.setMatterName(m.getMatterName());
matterEntity.setId(m.getId()); matterEntity.setId(m.getId());
...@@ -410,11 +415,37 @@ public class HomeController extends BaseJsonBodyController { ...@@ -410,11 +415,37 @@ public class HomeController extends BaseJsonBodyController {
Integer serverPort = DataUtil.converStr2Int(request.getHeader("server-port"), 0); Integer serverPort = DataUtil.converStr2Int(request.getHeader("server-port"), 0);
log.info("【应用请求】【请求体】-->serverName{} ,port:{}", serverName, serverPort); log.info("【应用请求】【请求体】-->serverName{} ,port:{}", serverName, serverPort);
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(); Rest<List<AppPdu>> ret = new Rest();
List<AppPdu> collect = new ArrayList<>(); List<AppPdu> collect = new ArrayList<>();
int code = VALUE_RESULT_SUCCESS; int code = VALUE_RESULT_SUCCESS;
AppConfigQuery query = new AppConfigQuery();
query.setSiteId(siteId);
query.setOrderColList(Arrays.asList(new OrderCol("order")));
List<AppConfigEntity> appConfigEntities = appConfigService.find(query);
if (!ObjectUtils.isEmpty(appConfigEntities)) {
List<Long> AppIdList = appConfigEntities.stream().map(item -> item.getAppId()).collect(Collectors.toList());
AppPdu appPdu = new AppPdu();
appPdu.setIdList(AppIdList);
appPdu.setSize(-1);
Rest<RespData<List<AppPdu>>> appRest = appFeign.list(appPdu);
String domainUrl = UrlBuilder.ofHttp(serverName).setPort(serverPort > 0 ? serverPort : 11078).build();
log.info("appRest:" + JSON.toJSONString(appRest));
log.info("domainUrl:" + domainUrl);
if (appRest.getCode() == YesNoEnum.YES.getValue()) {
collect = appRest.getData().getData().stream()
.peek(item -> {
item.setCustUrl(UrlBuilder.ofHttp(domainUrl).addPath(item.getCustUrl()).build());
log.info(item.getCustUrl());
log.info(item.getAppIconPath());
}).collect(Collectors.toList());
}
} else {
String appWhiteStr = GlobalSysInfo.getParamValue(Constant.PARAMS_WHITE_APP_LIST, "中心简介,办事指南,意见建议,通知公告");
Set<String> appWhiteSet = StrUtil.split(appWhiteStr, ",").stream().collect(Collectors.toSet());
try { try {
AppPdu appPdu = new AppPdu(); AppPdu appPdu = new AppPdu();
appPdu.setSiteId(siteId); appPdu.setSiteId(siteId);
...@@ -422,15 +453,12 @@ public class HomeController extends BaseJsonBodyController { ...@@ -422,15 +453,12 @@ public class HomeController extends BaseJsonBodyController {
appPdu.setType(1); appPdu.setType(1);
Rest<RespData<List<AppPdu>>> appRest = appFeign.list(appPdu); Rest<RespData<List<AppPdu>>> appRest = appFeign.list(appPdu);
String domainUrl = UrlBuilder.ofHttp(serverName).setPort(serverPort > 0 ? serverPort : 11078).build(); String domainUrl = UrlBuilder.ofHttp(serverName).setPort(serverPort > 0 ? serverPort : 11078).build();
/// String domainUrl1 = StrUtil.sub(domainUrl, 0, domainUrl.length());
log.info("appRest:" + JSON.toJSONString(appRest)); log.info("appRest:" + JSON.toJSONString(appRest));
log.info("domainUrl:" + domainUrl); log.info("domainUrl:" + domainUrl);
if (appRest.getCode() == YesNoEnum.YES.getValue()) { if (appRest.getCode() == YesNoEnum.YES.getValue()) {
collect = appRest.getData().getData().stream().filter(f -> appWhiteSet.contains(f.getAppName())) collect = appRest.getData().getData().stream().filter(f -> appWhiteSet.contains(f.getAppName()))
.peek(item -> { .peek(item -> {
item.setCustUrl(UrlBuilder.ofHttp(domainUrl).addPath(item.getCustUrl()).build()); item.setCustUrl(UrlBuilder.ofHttp(domainUrl).addPath(item.getCustUrl()).build());
//item.setAppIconPath(UrlBuilder.ofHttp(domainUrl1).addPath(item.getAppIconPath()).build());
log.info(item.getCustUrl()); log.info(item.getCustUrl());
log.info(item.getAppIconPath()); log.info(item.getAppIconPath());
}).collect(Collectors.toList()); }).collect(Collectors.toList());
...@@ -438,6 +466,7 @@ public class HomeController extends BaseJsonBodyController { ...@@ -438,6 +466,7 @@ public class HomeController extends BaseJsonBodyController {
} catch (Exception e) { } catch (Exception e) {
code = VALUE_RESULT_FAILURE; code = VALUE_RESULT_FAILURE;
} }
}
ret.setCode(code); ret.setCode(code);
ret.setData(collect); ret.setData(collect);
log.info("【应用请求】【响应体】-->{}", JSONObject.toJSONString(ret)); log.info("【应用请求】【响应体】-->{}", 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