服务指令-给所有业务平台更新指令资源
This commit is contained in:
parent
8b720684f6
commit
cc0d353b8b
|
@ -1,5 +1,6 @@
|
||||||
package com.nu.modules.servicedirective.controller;
|
package com.nu.modules.servicedirective.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||||
|
import org.jeecg.common.system.api.ISysBaseAPI;
|
||||||
import org.jeecg.common.system.base.controller.JeecgController;
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
import org.jeecg.common.system.query.QueryGenerator;
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
import org.jeecg.common.system.query.QueryRuleEnum;
|
import org.jeecg.common.system.query.QueryRuleEnum;
|
||||||
|
@ -28,6 +30,7 @@ import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,6 +48,8 @@ public class ConfigServiceDirectiveController extends JeecgController<ConfigServ
|
||||||
private IConfigServiceDirectiveService configServiceDirectiveService;
|
private IConfigServiceDirectiveService configServiceDirectiveService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitMQUtil rabbitMQUtil;
|
private RabbitMQUtil rabbitMQUtil;
|
||||||
|
@Autowired
|
||||||
|
private ISysBaseAPI sysBaseAPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
|
@ -261,8 +266,8 @@ public class ConfigServiceDirectiveController extends JeecgController<ConfigServ
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "服务指令-同步媒体资源给业务平台")
|
@AutoLog(value = "服务指令-同步媒体资源给服务指令对应的业务平台")
|
||||||
@ApiOperation(value = "服务指令-同步媒体资源给业务平台", notes = "服务指令-同步媒体资源给业务平台")
|
@ApiOperation(value = "服务指令-同步媒体资源给服务指令对应的业务平台", notes = "服务指令-同步媒体资源给服务指令对应的业务平台")
|
||||||
@RequestMapping(value = "/syncMediaForBiz", method = {RequestMethod.PUT, RequestMethod.POST})
|
@RequestMapping(value = "/syncMediaForBiz", method = {RequestMethod.PUT, RequestMethod.POST})
|
||||||
public Result<Map> syncMediaForBiz(@RequestBody ConfigServiceDirective dto) {
|
public Result<Map> syncMediaForBiz(@RequestBody ConfigServiceDirective dto) {
|
||||||
//处理媒体资源(放在保存方法之前)
|
//处理媒体资源(放在保存方法之前)
|
||||||
|
@ -277,4 +282,40 @@ public class ConfigServiceDirectiveController extends JeecgController<ConfigServ
|
||||||
rabbitMQUtil.sendToExchange("hldy.directive", dto.getSysOrgCode() + ".directive.createmedia", directiveAsyncMQDto);
|
rabbitMQUtil.sendToExchange("hldy.directive", dto.getSysOrgCode() + ".directive.createmedia", directiveAsyncMQDto);
|
||||||
return Result.OK(Maps.newHashMap());
|
return Result.OK(Maps.newHashMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@AutoLog(value = "服务指令-同步媒体资源给所有业务平台")
|
||||||
|
@ApiOperation(value = "服务指令-同步媒体资源给所有业务平台", notes = "服务指令-同步媒体资源给所有业务平台")
|
||||||
|
@RequestMapping(value = "/syncMediaForAllBiz", method = {RequestMethod.PUT, RequestMethod.POST})
|
||||||
|
public Result<Map> syncMediaForAllBiz(@RequestBody ConfigServiceDirective dto) {
|
||||||
|
//处理媒体资源(放在保存方法之前)
|
||||||
|
configServiceDirectiveService.handleMediaFile(dto);
|
||||||
|
//保存
|
||||||
|
ConfigServiceDirective configServiceDirective = new ConfigServiceDirective();
|
||||||
|
BeanUtils.copyProperties(dto,configServiceDirective);
|
||||||
|
configServiceDirectiveService.updateById(configServiceDirective);
|
||||||
|
|
||||||
|
DirectiveAsyncMQDto directiveAsyncMQDto = new DirectiveAsyncMQDto();
|
||||||
|
BeanUtils.copyProperties(dto, directiveAsyncMQDto);
|
||||||
|
|
||||||
|
List<JSONObject> orgList = sysBaseAPI.queryOpeDept();
|
||||||
|
List<String> codes = orgList.stream()
|
||||||
|
.map(o -> o.getString("code"))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
//启动线程,循环 codes, 5 分钟通知一个平台
|
||||||
|
new Thread(() -> {
|
||||||
|
for (String code : codes) {
|
||||||
|
try {
|
||||||
|
rabbitMQUtil.sendToExchange("hldy.directive", code + ".directive.createmedia", directiveAsyncMQDto);
|
||||||
|
// 发送完后,休眠 5 分钟
|
||||||
|
Thread.sleep(TimeUnit.MINUTES.toMillis(5));
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
|
||||||
|
return Result.OK(Maps.newHashMap());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue