指令同步日志
This commit is contained in:
parent
212b627879
commit
fe39e1d0c1
|
|
@ -31,6 +31,10 @@ public class OrgAllInfo implements Serializable {
|
||||||
* 协议+域名
|
* 协议+域名
|
||||||
*/
|
*/
|
||||||
private String url;
|
private String url;
|
||||||
|
/**
|
||||||
|
* 协议+域名
|
||||||
|
*/
|
||||||
|
private String contextPath;
|
||||||
/**
|
/**
|
||||||
* 省份
|
* 省份
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -153,5 +153,6 @@ public class DirectiveAsyncMQDto implements Serializable {
|
||||||
//情绪标签json字符串(有id、label)
|
//情绪标签json字符串(有id、label)
|
||||||
private String emotionTagsObj;
|
private String emotionTagsObj;
|
||||||
|
|
||||||
|
//资源请求接口域名+项目上下文路径
|
||||||
|
private String api;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,4 +28,6 @@ public class DirectiveMQDto {
|
||||||
private List<BodyTagMQDto> bodyTagList;
|
private List<BodyTagMQDto> bodyTagList;
|
||||||
//情绪标签字典项
|
//情绪标签字典项
|
||||||
private List<EmotionTagMQDto> emotionTagList;
|
private List<EmotionTagMQDto> emotionTagList;
|
||||||
|
//是否同步指令资源
|
||||||
|
private boolean izSyncMedia;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nu.modules.async.entity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -57,4 +58,11 @@ public class AsyncStatus implements Serializable {
|
||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "更新日期")
|
@ApiModelProperty(value = "更新日期")
|
||||||
private java.util.Date updateTime;
|
private java.util.Date updateTime;
|
||||||
|
/**目标机构编码*/
|
||||||
|
@Excel(name = "目标机构编码", width = 15)
|
||||||
|
@ApiModelProperty(value = "目标机构编码")
|
||||||
|
private java.lang.String targetOrgCode;
|
||||||
|
//目标机构名称
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String zOrgName;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
<result property="status" column="zstatus"/>
|
<result property="status" column="zstatus"/>
|
||||||
<result property="msg" column="zmsg"/>
|
<result property="msg" column="zmsg"/>
|
||||||
<result property="updateTime" column="zupdataTime"/>
|
<result property="updateTime" column="zupdataTime"/>
|
||||||
|
<result property="targetOrgCode" column="targetOrgCode"/>
|
||||||
|
<result property="zOrgName" column="zOrgName"/>
|
||||||
</collection>
|
</collection>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
@ -26,7 +28,7 @@
|
||||||
f.id as id,
|
f.id as id,
|
||||||
f.primary_key as primaryKey,
|
f.primary_key as primaryKey,
|
||||||
f.org_code as orgCode,
|
f.org_code as orgCode,
|
||||||
f.org_name as orgName,
|
md.depart_name as orgName,
|
||||||
f.type as type,
|
f.type as type,
|
||||||
f.descr as descr,
|
f.descr as descr,
|
||||||
f.create_by as createBy,
|
f.create_by as createBy,
|
||||||
|
|
@ -36,9 +38,13 @@
|
||||||
z.name as zname,
|
z.name as zname,
|
||||||
z.status as zstatus,
|
z.status as zstatus,
|
||||||
z.msg as zmsg,
|
z.msg as zmsg,
|
||||||
z.update_time as zupdataTime
|
z.update_time as zupdataTime,
|
||||||
|
z.target_org_code as targetOrgCode,
|
||||||
|
sd.depart_name as zOrgName
|
||||||
from nu_async_main f
|
from nu_async_main f
|
||||||
|
left join sys_depart md on f.org_code = md.org_code
|
||||||
left join nu_async_status z on f.id = z.pkid
|
left join nu_async_status z on f.id = z.pkid
|
||||||
|
left join sys_depart sd on z.target_org_code = sd.org_code
|
||||||
<where>
|
<where>
|
||||||
<if test="records !=null and !records.isEmpty()">
|
<if test="records !=null and !records.isEmpty()">
|
||||||
f.id in
|
f.id in
|
||||||
|
|
|
||||||
|
|
@ -17,4 +17,6 @@ public interface IAsyncMainService extends IService<AsyncMain> {
|
||||||
List<AsyncMain> pageList(List<AsyncMain> records, AsyncMain dto);
|
List<AsyncMain> pageList(List<AsyncMain> records, AsyncMain dto);
|
||||||
|
|
||||||
Map<String,List<AsyncMain>> listByType(AsyncMain am);
|
Map<String,List<AsyncMain>> listByType(AsyncMain am);
|
||||||
|
|
||||||
|
void saveData(String dataSourceCode,AsyncMain asyncMain);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.nu.modules.async.service;
|
package com.nu.modules.async.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.nu.modules.async.entity.AsyncMain;
|
||||||
|
import com.nu.modules.async.entity.AsyncStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 数据同步子表-状态记录表
|
* @Description: 数据同步子表-状态记录表
|
||||||
|
|
@ -9,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface IAsyncStatusService extends IService<com.nu.modules.async.entity.AsyncStatus> {
|
public interface IAsyncStatusService extends IService<com.nu.modules.async.entity.AsyncStatus> {
|
||||||
|
void saveData(String dataSourceCode,AsyncStatus asyncStatus);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nu.modules.async.service.impl;
|
package com.nu.modules.async.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.nu.enums.MQStatus;
|
import com.nu.enums.MQStatus;
|
||||||
|
|
@ -75,4 +76,10 @@ public class AsyncMainServiceImpl extends ServiceImpl<AsyncMainMapper, AsyncMain
|
||||||
result.put("processingList", processingList);
|
result.put("processingList", processingList);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DS("dataSourceCode")
|
||||||
|
public void saveData(String dataSourceCode,AsyncMain asyncMain) {
|
||||||
|
baseMapper.insert(asyncMain);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.nu.modules.async.service.impl;
|
package com.nu.modules.async.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.nu.modules.async.entity.AsyncStatus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -13,4 +15,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@Service
|
@Service
|
||||||
public class AsyncStatusServiceImpl extends ServiceImpl<com.nu.modules.async.mapper.AsyncStatusMapper, com.nu.modules.async.entity.AsyncStatus> implements com.nu.modules.async.service.IAsyncStatusService {
|
public class AsyncStatusServiceImpl extends ServiceImpl<com.nu.modules.async.mapper.AsyncStatusMapper, com.nu.modules.async.entity.AsyncStatus> implements com.nu.modules.async.service.IAsyncStatusService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DS("dataSourceCode")
|
||||||
|
public void saveData(String dataSourceCode,AsyncStatus asyncStatus) {
|
||||||
|
baseMapper.insert(asyncStatus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nu.modules.servicedirective.controller;
|
package com.nu.modules.servicedirective.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
|
@ -7,7 +8,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.beust.jcommander.internal.Maps;
|
import com.beust.jcommander.internal.Maps;
|
||||||
import com.nu.dto.DirectiveAsyncMQDto;
|
import com.nu.dto.DirectiveAsyncMQDto;
|
||||||
|
import com.nu.dto.DirectiveMQDto;
|
||||||
|
import com.nu.modules.directivetag.body.entity.DirectiveBodyTag;
|
||||||
import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService;
|
import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService;
|
||||||
|
import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag;
|
||||||
import com.nu.modules.servicedirective.entity.ConfigServiceDirective;
|
import com.nu.modules.servicedirective.entity.ConfigServiceDirective;
|
||||||
import com.nu.modules.servicedirective.entity.DirectiveSyncDto;
|
import com.nu.modules.servicedirective.entity.DirectiveSyncDto;
|
||||||
import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService;
|
import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService;
|
||||||
|
|
@ -394,29 +398,63 @@ public class ConfigServiceDirectiveController extends JeecgController<ConfigServ
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param dataSourceCode 源数据机构编码
|
* @param dataSourceCode 源数据机构编码
|
||||||
* @param syncIds 新增指令的id(逗号拼接)
|
|
||||||
* @param upIds 更新指令的id(逗号拼接)
|
|
||||||
* @param syncOrgCodes 同步给哪些机构
|
|
||||||
* @param syncOption “新增”指令需要更新哪些内容 all(业务字段+指令资源) business(业务字段) media(指令资源)
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "服务指令-指令同步")
|
@AutoLog(value = "服务指令-指令同步")
|
||||||
@ApiOperation(value = "服务指令-指令同步", notes = "服务指令-指令同步")
|
@ApiOperation(value = "服务指令-指令同步", notes = "服务指令-指令同步")
|
||||||
@PostMapping(value = "/syncDirective")
|
@PostMapping(value = "/syncDirective")
|
||||||
@DS("#dataSourceCode")
|
@DS("#dataSourceCode")
|
||||||
public Result<Map> syncDirective(@RequestParam(name = "dataSourceCode") String dataSourceCode,@RequestBody DirectiveSyncDto dto) {
|
public Result<Map> syncDirective(@RequestParam(name = "dataSourceCode") String dataSourceCode, @RequestBody DirectiveSyncDto dto) {
|
||||||
|
//处理接口地址
|
||||||
|
String fullPath = "";
|
||||||
|
if ("all".equals(dto.getSyncOption()) || "media".equals(dto.getSyncOption()) || StringUtils.isNotBlank(dto.getUpIds())) {
|
||||||
|
JSONObject deptInfo = configServiceDirectiveService.getDeptInfo("master",dataSourceCode);
|
||||||
|
String url = deptInfo.getString("url");
|
||||||
|
String contextPath = deptInfo.getString("contextPath");
|
||||||
|
String baseUrl = url.endsWith("/") ? url.substring(0, url.length() - 1) : url;
|
||||||
|
String normalizedContextPath = contextPath.startsWith("/") ? contextPath : "/" + contextPath;
|
||||||
|
normalizedContextPath = normalizedContextPath.endsWith("/")
|
||||||
|
? normalizedContextPath.substring(0, normalizedContextPath.length() - 1)
|
||||||
|
: normalizedContextPath;
|
||||||
|
//接口协议、域名、上下文路径
|
||||||
|
fullPath = baseUrl + normalizedContextPath;
|
||||||
|
}
|
||||||
|
|
||||||
//同步-新增服务指令
|
//同步-新增服务指令
|
||||||
configServiceDirectiveService.syncDirective(dto.getSyncIds(), dto.getSyncOrgCodes(), dto.getSyncOption());
|
configServiceDirectiveService.syncDirective(dto.getSyncIds(), dto.getSyncOrgCodes(), dto.getSyncOption(),fullPath,dataSourceCode);
|
||||||
//给新增的指令同步指令资源
|
|
||||||
if ("all".equals(dto.getSyncOption()) || "media".equals(dto.getSyncOption())) {
|
|
||||||
|
|
||||||
}
|
//给待更新的指令
|
||||||
|
|
||||||
//同步 - 更新指令资源字段
|
|
||||||
if (StringUtils.isNotBlank(dto.getUpIds())) {
|
if (StringUtils.isNotBlank(dto.getUpIds())) {
|
||||||
|
DirectiveMQDto upDirectiveMQDto = new DirectiveMQDto();
|
||||||
|
List<ConfigServiceDirective> directives;
|
||||||
|
{
|
||||||
|
List<ConfigServiceDirective> param = Lists.newArrayList();
|
||||||
|
Arrays.stream(dto.getUpIds().split(",")).forEach(id -> {
|
||||||
|
ConfigServiceDirective configServiceDirective = new ConfigServiceDirective();
|
||||||
|
configServiceDirective.setId(id);
|
||||||
|
param.add(configServiceDirective);
|
||||||
|
});
|
||||||
|
directives = configServiceDirectiveService.pageList(param);
|
||||||
|
upDirectiveMQDto.setDirectiveList(BeanUtil.copyToList(directives, DirectiveAsyncMQDto.class));
|
||||||
|
}
|
||||||
|
List<DirectiveAsyncMQDto> upDirectiveList = upDirectiveMQDto.getDirectiveList();
|
||||||
|
for (int i = 0; i < upDirectiveList.size(); i++) {
|
||||||
|
upDirectiveList.get(i).setApi(fullPath);
|
||||||
|
}
|
||||||
|
new Thread(() -> {
|
||||||
|
for (String code : dto.getSyncOrgCodes().split(",")) {
|
||||||
|
try {
|
||||||
|
rabbitMQUtil.sendToExchange("hldy.directive", code + ".directive.createmedia", upDirectiveMQDto);
|
||||||
|
// 发送完后,休眠 5 分钟
|
||||||
|
// Thread.sleep(TimeUnit.MINUTES.toMillis(5));
|
||||||
|
// } catch (InterruptedException e) {
|
||||||
|
} catch (Exception e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送消息
|
//发送消息
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
package com.nu.modules.servicedirective.service;
|
package com.nu.modules.servicedirective.service;
|
||||||
|
|
||||||
import cn.hutool.json.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.nu.dto.DirectiveMQDto;
|
||||||
import com.nu.modules.servicedirective.entity.ConfigServiceDirective;
|
import com.nu.modules.servicedirective.entity.ConfigServiceDirective;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -62,5 +63,9 @@ public interface IConfigServiceDirectiveService extends IService<ConfigServiceDi
|
||||||
void auditPass(ConfigServiceDirective dto);
|
void auditPass(ConfigServiceDirective dto);
|
||||||
|
|
||||||
//同步服务指令
|
//同步服务指令
|
||||||
void syncDirective(String syncIds, String syncOrgCodes, String syncOption);
|
DirectiveMQDto syncDirective(String syncIds, String syncOrgCodes, String syncOption, String fullPath, String dataSourceCode);
|
||||||
|
|
||||||
|
JSONObject getDeptInfo(String dataSourceCode,String orgCode);
|
||||||
|
|
||||||
|
List<ConfigServiceDirective> pageList(List<ConfigServiceDirective> param);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,18 @@
|
||||||
package com.nu.modules.servicedirective.service.impl;
|
package com.nu.modules.servicedirective.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nu.dto.*;
|
import com.nu.dto.*;
|
||||||
|
import com.nu.enums.MQStatus;
|
||||||
|
import com.nu.modules.async.entity.AsyncMain;
|
||||||
|
import com.nu.modules.async.entity.AsyncStatus;
|
||||||
|
import com.nu.modules.async.service.IAsyncMainService;
|
||||||
|
import com.nu.modules.async.service.IAsyncStatusService;
|
||||||
import com.nu.modules.directivetag.body.entity.DirectiveBodyTag;
|
import com.nu.modules.directivetag.body.entity.DirectiveBodyTag;
|
||||||
import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService;
|
import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService;
|
||||||
import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag;
|
import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag;
|
||||||
|
|
@ -69,6 +75,10 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl<ConfigService
|
||||||
private IDirectiveEmotionTagService emotionTagService;
|
private IDirectiveEmotionTagService emotionTagService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitMQUtil rabbitMQUtil;
|
private RabbitMQUtil rabbitMQUtil;
|
||||||
|
@Autowired
|
||||||
|
private IAsyncMainService asyncMainService;
|
||||||
|
@Autowired
|
||||||
|
private IAsyncStatusService asyncStatusService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ConfigServiceDirective> pageList(ConfigServiceDirective configServiceDirective, IPage<ConfigServiceDirective> list_) {
|
public List<ConfigServiceDirective> pageList(ConfigServiceDirective configServiceDirective, IPage<ConfigServiceDirective> list_) {
|
||||||
|
|
@ -400,12 +410,17 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl<ConfigService
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ConfigServiceDirective> pageList(List<ConfigServiceDirective> param) {
|
||||||
|
return baseMapper.pageList(null, param);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param syncIds 需要同步的指令ID
|
* @param syncIds 需要同步的指令ID
|
||||||
* @param syncOrgCodes 需要同步的目标平台orgCode
|
* @param syncOrgCodes 需要同步的目标平台orgCode
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void syncDirective(String syncIds, String syncOrgCodes, String syncOption) {
|
public DirectiveMQDto syncDirective(String syncIds, String syncOrgCodes, String syncOption, String fullPath, String dataSourceCode) {
|
||||||
DirectiveMQDto directiveMQDto = new DirectiveMQDto();
|
DirectiveMQDto directiveMQDto = new DirectiveMQDto();
|
||||||
List<ConfigServiceDirective> directives;
|
List<ConfigServiceDirective> directives;
|
||||||
List<String> directiveIds = Arrays.asList(syncIds.split(","));
|
List<String> directiveIds = Arrays.asList(syncIds.split(","));
|
||||||
|
|
@ -419,13 +434,17 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl<ConfigService
|
||||||
directives = baseMapper.pageList(null, param);
|
directives = baseMapper.pageList(null, param);
|
||||||
if (directives != null && !directives.isEmpty()) {
|
if (directives != null && !directives.isEmpty()) {
|
||||||
directives.stream().forEach(record -> {
|
directives.stream().forEach(record -> {
|
||||||
//只同步业务字段的话清空指令资源字段的值
|
//清空指令资源字段的值
|
||||||
if ("business".equals(syncOption)) {
|
if ("business".equals(syncOption)) {
|
||||||
record.setPreviewFile(null);
|
record.setPreviewFile(null);
|
||||||
record.setImmediateFile(null);
|
record.setImmediateFile(null);
|
||||||
record.setMp3File(null);
|
record.setMp3File(null);
|
||||||
record.setMp4File(null);
|
record.setMp4File(null);
|
||||||
record.setServiceContent(null);
|
record.setServiceContent(null);
|
||||||
|
record.setPreviewFileMd5(null);
|
||||||
|
record.setImmediateFileMd5(null);
|
||||||
|
record.setMp3FileMd5(null);
|
||||||
|
record.setMp4FileMd5(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<DirectiveBodyTag> bodyTagList = record.getBodyTagList();
|
List<DirectiveBodyTag> bodyTagList = record.getBodyTagList();
|
||||||
|
|
@ -436,6 +455,12 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl<ConfigService
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
directiveMQDto.setDirectiveList(BeanUtil.copyToList(directives, DirectiveAsyncMQDto.class));
|
directiveMQDto.setDirectiveList(BeanUtil.copyToList(directives, DirectiveAsyncMQDto.class));
|
||||||
|
if ("all".equals(syncOption) || "media".equals(syncOption)) {
|
||||||
|
directiveMQDto.setIzSyncMedia(true);
|
||||||
|
directiveMQDto.getDirectiveList().stream().forEach(d -> {
|
||||||
|
d.setApi(fullPath);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//分类标签
|
//分类标签
|
||||||
{
|
{
|
||||||
|
|
@ -477,7 +502,40 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl<ConfigService
|
||||||
}
|
}
|
||||||
//给对应业务平台发送消息
|
//给对应业务平台发送消息
|
||||||
Arrays.stream(syncOrgCodes.split(",")).forEach(orgCode -> {
|
Arrays.stream(syncOrgCodes.split(",")).forEach(orgCode -> {
|
||||||
|
AsyncMain asyncMain = new AsyncMain();
|
||||||
|
asyncMain.setType("directive");
|
||||||
|
asyncMain.setOrgCode(dataSourceCode);
|
||||||
|
asyncMain.setDescr("服务指令同步");
|
||||||
|
asyncMainService.saveData("master",asyncMain);
|
||||||
|
directiveMQDto.setAsyncId(asyncMain.getId());
|
||||||
|
|
||||||
|
AsyncStatus asyncStatus_data = new AsyncStatus();
|
||||||
|
asyncStatus_data.setPkid(asyncMain.getId());
|
||||||
|
asyncStatus_data.setCode("data");
|
||||||
|
asyncStatus_data.setName("数据");
|
||||||
|
asyncStatus_data.setStatus(MQStatus.LOADING.getCode() + "");
|
||||||
|
asyncStatus_data.setMsg("同步中");
|
||||||
|
asyncStatus_data.setTargetOrgCode(orgCode);
|
||||||
|
asyncStatusService.saveData("master",asyncStatus_data);
|
||||||
|
|
||||||
|
if ("all".equals(syncOption) || "media".equals(syncOption)) {
|
||||||
|
AsyncStatus asyncStatus_file = new AsyncStatus();
|
||||||
|
asyncStatus_file.setPkid(asyncMain.getId());
|
||||||
|
asyncStatus_file.setCode("file");
|
||||||
|
asyncStatus_file.setName("文件");
|
||||||
|
asyncStatus_file.setStatus(MQStatus.LOADING.getCode() + "");
|
||||||
|
asyncStatus_file.setMsg("同步中");
|
||||||
|
asyncStatus_file.setTargetOrgCode(orgCode);
|
||||||
|
asyncStatusService.saveData("master",asyncStatus_file);
|
||||||
|
}
|
||||||
rabbitMQUtil.sendToExchange("hldy.directive", orgCode + ".directive.syncDirective", directiveMQDto);
|
rabbitMQUtil.sendToExchange("hldy.directive", orgCode + ".directive.syncDirective", directiveMQDto);
|
||||||
});
|
});
|
||||||
|
return directiveMQDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DS("dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public JSONObject getDeptInfo(String dataSourceCode,String orgCode) {
|
||||||
|
return sysBaseAPI.getOrgInfo(orgCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,10 @@ public class SysDepartEntity implements Serializable {
|
||||||
* 协议+域名
|
* 协议+域名
|
||||||
*/
|
*/
|
||||||
private String url;
|
private String url;
|
||||||
|
/**
|
||||||
|
* 项目访问路径
|
||||||
|
*/
|
||||||
|
private String contextPath;
|
||||||
/**
|
/**
|
||||||
* 省份
|
* 省份
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,10 @@ public class SysDepart implements Serializable {
|
||||||
*/
|
*/
|
||||||
@Excel(name = "协议+域名", width = 30)
|
@Excel(name = "协议+域名", width = 30)
|
||||||
private String url;
|
private String url;
|
||||||
|
/**
|
||||||
|
* 项目访问路径
|
||||||
|
*/
|
||||||
|
private String contextPath;
|
||||||
/**
|
/**
|
||||||
* 省份
|
* 省份
|
||||||
*/
|
*/
|
||||||
|
|
@ -246,6 +250,7 @@ public class SysDepart implements Serializable {
|
||||||
Objects.equals(orgType, depart.orgType) &&
|
Objects.equals(orgType, depart.orgType) &&
|
||||||
Objects.equals(orgCode, depart.orgCode) &&
|
Objects.equals(orgCode, depart.orgCode) &&
|
||||||
Objects.equals(url, depart.url) &&
|
Objects.equals(url, depart.url) &&
|
||||||
|
Objects.equals(contextPath, depart.contextPath) &&
|
||||||
Objects.equals(province, depart.province) &&
|
Objects.equals(province, depart.province) &&
|
||||||
Objects.equals(city, depart.city) &&
|
Objects.equals(city, depart.city) &&
|
||||||
Objects.equals(district, depart.district) &&
|
Objects.equals(district, depart.district) &&
|
||||||
|
|
@ -274,7 +279,7 @@ public class SysDepart implements Serializable {
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(super.hashCode(), id, parentId, departName,
|
return Objects.hash(super.hashCode(), id, parentId, departName,
|
||||||
departNameEn, departNameAbbr, departOrder, description, orgCategory,
|
departNameEn, departNameAbbr, departOrder, description, orgCategory,
|
||||||
orgType, orgCode, url, province, city, district, operationStartTime,
|
orgType, orgCode, url,contextPath, province, city, district, operationStartTime,
|
||||||
operationEndTime, contractStartTime, contractEndTime, mobile, fax, address, memo, status,
|
operationEndTime, contractStartTime, contractEndTime, mobile, fax, address, memo, status,
|
||||||
delFlag, createBy, createTime, updateBy, updateTime, tenantId, payableAmount);
|
delFlag, createBy, createTime, updateBy, updateTime, tenantId, payableAmount);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,8 @@ public class SysDepartTreeModel implements Serializable {
|
||||||
|
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
|
private String contextPath;
|
||||||
|
|
||||||
private String province;
|
private String province;
|
||||||
|
|
||||||
private String city;
|
private String city;
|
||||||
|
|
@ -138,6 +140,7 @@ public class SysDepartTreeModel implements Serializable {
|
||||||
this.orgType = sysDepart.getOrgType();
|
this.orgType = sysDepart.getOrgType();
|
||||||
this.orgCode = sysDepart.getOrgCode();
|
this.orgCode = sysDepart.getOrgCode();
|
||||||
this.url = sysDepart.getUrl();
|
this.url = sysDepart.getUrl();
|
||||||
|
this.contextPath = sysDepart.getContextPath();
|
||||||
this.province = sysDepart.getProvince();
|
this.province = sysDepart.getProvince();
|
||||||
this.city = sysDepart.getCity();
|
this.city = sysDepart.getCity();
|
||||||
this.district = sysDepart.getDistrict();
|
this.district = sysDepart.getDistrict();
|
||||||
|
|
@ -486,6 +489,14 @@ public class SysDepartTreeModel implements Serializable {
|
||||||
this.url = url;
|
this.url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getContextPath() {
|
||||||
|
return contextPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContextPath(String contextPath) {
|
||||||
|
this.contextPath = contextPath;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重写equals方法
|
* 重写equals方法
|
||||||
*/
|
*/
|
||||||
|
|
@ -510,6 +521,7 @@ public class SysDepartTreeModel implements Serializable {
|
||||||
Objects.equals(orgType, model.orgType) &&
|
Objects.equals(orgType, model.orgType) &&
|
||||||
Objects.equals(orgCode, model.orgCode) &&
|
Objects.equals(orgCode, model.orgCode) &&
|
||||||
Objects.equals(url, model.url) &&
|
Objects.equals(url, model.url) &&
|
||||||
|
Objects.equals(contextPath, model.contextPath) &&
|
||||||
Objects.equals(province, model.province) &&
|
Objects.equals(province, model.province) &&
|
||||||
Objects.equals(city, model.city) &&
|
Objects.equals(city, model.city) &&
|
||||||
Objects.equals(district, model.district) &&
|
Objects.equals(district, model.district) &&
|
||||||
|
|
@ -540,7 +552,7 @@ public class SysDepartTreeModel implements Serializable {
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
|
|
||||||
return Objects.hash(id, parentId, platType, departName, departNameEn, departNameAbbr,
|
return Objects.hash(id, parentId, platType, departName, departNameEn, departNameAbbr,
|
||||||
departOrder, description, orgCategory, orgType, orgCode, url, province, city, district,
|
departOrder, description, orgCategory, orgType, orgCode, url, contextPath, province, city, district,
|
||||||
operationStartTime, operationEndTime, contractStartTime, contractEndTime,
|
operationStartTime, operationEndTime, contractStartTime, contractEndTime,
|
||||||
mobile, fax, address, memo, status, delFlag, qywxIdentifier,
|
mobile, fax, address, memo, status, delFlag, qywxIdentifier,
|
||||||
createBy, createTime, updateBy, updateTime, children, directorUserIds, payableAmount);
|
createBy, createTime, updateBy, updateTime, children, directorUserIds, payableAmount);
|
||||||
|
|
|
||||||
|
|
@ -1917,6 +1917,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||||
map.put("code",list.get(0).getOrgCode());
|
map.put("code",list.get(0).getOrgCode());
|
||||||
map.put("name",list.get(0).getDepartName());
|
map.put("name",list.get(0).getDepartName());
|
||||||
map.put("url",list.get(0).getUrl());
|
map.put("url",list.get(0).getUrl());
|
||||||
|
map.put("contextPath",list.get(0).getContextPath());
|
||||||
}
|
}
|
||||||
return new JSONObject(map);
|
return new JSONObject(map);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue