报表优化

impp压测接口优化
消息队列非空验证
单号管理增加状态
yun-zuoyi
yunhao.wang 6 years ago
parent 2f709cd53f
commit a18efc36f6

@ -6,7 +6,6 @@ import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -24,7 +23,7 @@ public interface ISysLogSystemService {
void insertSysLogBatch(int num,int waitTime);
@ApiOperation(value = "删除日志",notes = "删除日志")
void deleteSysLogSystemById(Long id);
long deleteSysLogSystemById(Long id);
@ApiOperation(value = "查询全部日志",notes = "查询全部日志")
List<SysLogSystem> listSysLogSystem();
@ -36,5 +35,14 @@ public interface ISysLogSystemService {
ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager);
@ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除")
void deleteSysLogSystemByIds(Long[] ids);
long deleteSysLogSystemByIds(Long[] ids);
/**
*
* @param min
* @param max
* @return
*/
@ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询")
List<SysLogSystem> findSysLogSystemByIdInterval(long min, long max);
}

@ -3,7 +3,6 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.bean.SysToolType;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -74,14 +73,14 @@ public interface ISysToolService {
* @param id
*/
@ApiOperation(value = "删除硬件信息",notes = "根据 ID 删除硬件信息")
void deleteSysToolById(Long id);
int deleteSysToolById(Long id);
/**
*
* @param ids
*/
@ApiOperation(value = "删除硬件信息",notes = "根据 ID 批量删除硬件信息")
void deleteSysToolByIds(Long[] ids);
int deleteSysToolByIds(Long[] ids);
/**
*
@ -89,11 +88,21 @@ public interface ISysToolService {
* @param status
*/
@ApiOperation(value = "更新设备信息",notes = "根据 ID 批量修改硬件状态信息")
void updateSysToolStatusByIds(Long[] ids,Integer status);
int updateSysToolStatusByIds(Long[] ids,Integer status);
/**
*
*
*/
@ApiOperation(value = "查询指定数量设备信息",notes = "查询指定数量设备信息")
List<SysTool> findSysToolByTop(int topNum);
/**
*
* @param min
* @param max
* @return
*/
@ApiOperation(value = "查询指定数量设备信息",notes = "查询指定数量设备信息")
List<SysTool> findSysToolByIdInterval(long min,long max);
}

@ -1,10 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -13,7 +11,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.UserDetailModel;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.eureka.EurekaClientHealthCheck;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -22,7 +19,6 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@ -30,18 +26,18 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @Description :
* @Description : IMPP
* @Reference :
* @Author : yunhao
* @CreateDate : 2019-02-19 11:29
@ -140,12 +136,11 @@ public class TestController {
// 测试cpu性能
if (cpu) {
for (int i = 0; i < num; i++) {
TestThread th1 = new TestThread(piLength);
th1.start();
System.out.println(ComputePi.computePi(piLength));
}
}
return ResultBean.success("查询成功").setResultObject("耗时:" + (System.currentTimeMillis() - time))
return ResultBean.success("查询成功 耗时:" + (System.currentTimeMillis() - time))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -167,7 +162,7 @@ public class TestController {
*/
@GetMapping(value = "/test-db")
@ApiOperation(value = "数据库操作测试", notes = "数据库操作测试")
public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete, int waitTime) {
public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete,long min,long max) {
try {
long time = System.currentTimeMillis();
Pager page = new Pager();
@ -176,12 +171,15 @@ public class TestController {
List list;
SysTool sysTool;
SysLogSystem sysLogSystem;
int insertAffect = 0;
int updateAffect = 0;
long deleteAffect = 0;
long t1 = System.currentTimeMillis();
// 新增数据
if (insert) {
for (int i = 0; i < num * 1000; i++) {
for (int i = 0; i < num; i++) {
t1 = System.currentTimeMillis();
if (!mongo) {
sysTool = new SysTool();
@ -192,8 +190,6 @@ public class TestController {
sysTool.setToolDescription("描述新增测试");
sysToolService.insertSysTool(sysTool);
this.wait(waitTime);
} else {
sysLogSystem = new SysLogSystem();
sysLogSystem.setLogClass("新增测试class");
@ -207,20 +203,18 @@ public class TestController {
sysLogSystem.setLogTitle("新增测试");
syslogSystemService.insertSysLogSystem(sysLogSystem);
this.wait(waitTime);
}
LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",idx" + i);
insertAffect++;
}
}
if (update || delete) {
// 查询批量修改或删除的数据
if (mongo) {
list = syslogSystemService.querySysLogSystemByPager(null, page).getObjectList();
list = syslogSystemService.findSysLogSystemByIdInterval(min,max);
} else {
list = sysToolService.findSysToolByTop(num);
list = sysToolService.findSysToolByIdInterval(min,max);
}
// 是否进行修改测试,并判断进行批量或逐次修改
@ -229,10 +223,10 @@ public class TestController {
for (int i = 0; i < num; i++) {
ids[i] = ((SysTool) list.get(i)).getId();
}
sysToolService.updateSysToolStatusByIds(ids, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
updateAffect = sysToolService.updateSysToolStatusByIds(ids, (int) (Math.random() * 1000));
} else if (!mongo && update) {
for (Object obj : list) {
sysTool = (SysTool) obj;
for (int i = 0; i < num; i++) {
sysTool = (SysTool) list.get(i);
sysTool.setName("修改测试" + System.currentTimeMillis());
sysTool.setToolTypeId(1073140662133723136L);
sysTool.setToolIp("192.168.1.35");
@ -254,25 +248,26 @@ public class TestController {
}
}
if (mongo) {
syslogSystemService.deleteSysLogSystemByIds(ids);
deleteAffect = syslogSystemService.deleteSysLogSystemByIds(ids);
} else {
sysToolService.deleteSysToolByIds(ids);
deleteAffect = sysToolService.deleteSysToolByIds(ids);
}
} else if (delete) {
for (Object obj : list) {
for (int i = 0; i < num; i++) {
if (mongo) {
sysLogSystem = (SysLogSystem) obj;
syslogSystemService.deleteSysLogSystemById(sysLogSystem.getId());
sysLogSystem = (SysLogSystem) list.get(i);
deleteAffect += syslogSystemService.deleteSysLogSystemById(sysLogSystem.getId());
} else {
sysTool = (SysTool) obj;
sysToolService.deleteSysToolById(sysTool.getId());
sysTool = (SysTool) list.get(i);
deleteAffect += sysToolService.deleteSysToolById(sysTool.getId());
}
}
}
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + num)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",新增数据量:" + insertAffect
+ ",修改影响量" + updateAffect + ",删除影响量:" + deleteAffect)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -280,7 +275,6 @@ public class TestController {
}
}
/**
*
*
@ -292,9 +286,6 @@ public class TestController {
public ResultBean dateInsert(int num, boolean mongo, int waitTime) {
try {
long time = System.currentTimeMillis();
SysTool sysTool;
SysLogSystem sysLogSystem;
long t1 = System.currentTimeMillis();
// 新增数据
if (!mongo) {
@ -304,7 +295,7 @@ public class TestController {
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + num)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -384,7 +375,7 @@ public class TestController {
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + list.size())
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -437,7 +428,7 @@ public class TestController {
}
return ResultBean.success("调用完成 耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + list.size())
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -486,7 +477,7 @@ public class TestController {
case 2:
deptList = new ArrayList<>();
for (int j = 0; j < 300; j++) {
for (int j = 0; j < 20; j++) {
sysDept = new SysDepartment();
sysDept.setName("部门名称");
sysDept.setDepartmentCode("部门code");
@ -511,11 +502,18 @@ public class TestController {
// 复杂对象
case 3:
deptList = new ArrayList<>();
for (int j = 0; j < 20; j++) {
sysDept = new SysDepartment();
sysDept.setName("部门名称集合" + j);
sysDept.setDepartmentCode("部门集合code" + j);
sysDept.setParentNameRdd("集合" + j);
deptList.add(sysDept);
}
sysDept = new SysDepartment();
sysDept.setName("部门名称");
sysDept.setDepartmentCode("部门code");
sysDept.setParentNameRdd("上级部门名称");
deptList.add(sysDept);
sysDept.setChildList(deptList);
@ -553,7 +551,7 @@ public class TestController {
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数量:" + list.size())
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time)).setResultList(list);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -586,7 +584,7 @@ public class TestController {
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -623,7 +621,7 @@ public class TestController {
}
return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数量:" + list.size())
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(new TestInfo(time));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -768,4 +766,16 @@ public class TestController {
Thread.sleep(1);
}
@GetMapping(value = "/make-sql")
@ApiOperation(value = "生成sql脚本", notes = "生成sql脚本")
public void MakeSql(String path,int page,int pageSize){
try {
for (int i = 0; i < page; i++) {
Text.printUsage(path,pageSize, i);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

@ -1,52 +1,61 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import java.lang.management.ManagementFactory;
import java.util.Random;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import org.apache.commons.lang3.RandomStringUtils;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* @Description :
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2019-02-19 11:41
* @Modify:
**/
public class Text {
public static final String TEXT = "党的十八大提出倡导富强、民主、文明、和谐倡导自由、平等、公正、法治倡导爱国、敬业、诚信、友善积极培育和践行社会主义核心价值观。富强、民主、文明、和谐是国家层面的价值目标自由、平等、公正、法治是社会层面的价值取向爱国、敬业、诚信、友善是公民个人层面的价值准则这24个字是社会主义核心价值观的基本内容。";
public static void main(String[] args) {
public static void printUsage(String path, int num, int index) throws IOException {
String name = ManagementFactory.getRuntimeMXBean().getName();
System.out.println(name);
// get pid
String pid = name.split("@")[0];
System.out.println("Pid is:" + pid);
for (int i = 0; i < 1; i++) {
TestThread th1 = new TestThread(i);
th1.start();
File dir = new File(path+File.separator+"tool"+File.separator+"temp" + (index / 10));
if (!dir.exists()) {
System.out.println(dir.mkdirs());
}
// System.out.println("Please input times: ");
// caculatePI(100000000);
}
public static void caculatePI(int countInSquarel) {
int countInCircle = 0, i, resulttimes;
double x, y; /* 坐标 */
Random s = new Random();
for (resulttimes = 0; resulttimes < 10; resulttimes++) { /* 输出十次结果 */
for (i = 1; i <= countInSquarel; i++) {
x = s.nextDouble(); /* 在0~1之间产生一个随机x坐标 */
y = s.nextDouble(); /* 在0~1之间产生一个随机y坐标 */
if (caculateAcreage(x, y) <= 1.0)
countInCircle++; /* 统计落入单位圆中的点数 */
File f = new File(path+File.separator+"tool"+File.separator+"temp" + (index / 10) + File.separator+"insert" + index + ".sql");
FileWriter fw = new FileWriter(f);
BufferedWriter out = new BufferedWriter(fw);
try {
SysTool sysTool;
StringBuffer sb;
SnowflakeIdMaker snf = new SnowflakeIdMaker();
for (int i = 0; i < num; i++) {
sb = new StringBuffer();
sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values ");
sysTool = new SysTool();
sysTool.setId(snf.nextId() + System.currentTimeMillis());
sysTool.setName(RandomStringUtils.random(10, TEXT));
sysTool.setToolTypeNameRdd(RandomStringUtils.random(10, TEXT));
sysTool.setToolTypeId(System.currentTimeMillis());
sysTool.setToolIp(RandomStringUtils.random(10, TEXT));
sysTool.setToolPort((int) (Math.random() * i));
sysTool.setToolDescription(RandomStringUtils.random(10, TEXT));
sysTool.setCreateDatetime(TimeTool.getNowTime(true));
sysTool.setModifyDatetime(TimeTool.getNowTime(true));
sb.append("(" + sysTool.getId() + ",'" + sysTool.getName() + "','" + sysTool.getToolTypeNameRdd() + "'," + sysTool.getToolTypeId() + ",'"
+ sysTool.getToolIp() + "'," + sysTool.getToolPort() + ",'" + sysTool.getToolDescription() + "');");
out.write(sb.toString());
}
System.out.println("The result of pai is " + (double) countInCircle / countInSquarel * 4); /* 计算出π的值 */
countInCircle = 0;
} finally {
out.close();
}
}
private static double caculateAcreage(double xPosition, double yPosition) {
return xPosition * xPosition + yPosition * yPosition;
}
}

@ -7,7 +7,7 @@ import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import java.util.List;
/**
* @Description :
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2019-02-20 21:15
@ -22,12 +22,5 @@ public interface ITestDao {
*/
void insertBatch(int num,int waitTime);
/**
* mongodb
* @param num
* @param waitTime
*/
void insertMongoDBBatch(int num,int waitTime);
List<Object> queryToolAndToolType(Pager pager);
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.daoimpl;
import cn.estsh.i3plus.core.apiservice.dao.ITestDao;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
@ -11,11 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.List;
import java.util.Random;
/**
* @Description :
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2019-02-20 21:17
@ -35,8 +36,9 @@ public class TestDaoImpl implements ITestDao {
long t1 = System.currentTimeMillis();
SysTool sysTool = new SysTool();
StringBuffer sb = new StringBuffer();
sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values ");
SnowflakeIdMaker snf = new SnowflakeIdMaker();
for (int i = 0; i < num * 1000; i++) {
for (int i = 0; i < num * 100; i++) {
sysTool = new SysTool();
sysTool.setId(snf.nextId() + System.currentTimeMillis());
sysTool.setName(RandomStringUtils.random(10, TEXT));
@ -45,20 +47,17 @@ public class TestDaoImpl implements ITestDao {
sysTool.setToolIp(RandomStringUtils.random(10, TEXT));
sysTool.setToolPort((int) (Math.random() * i));
sysTool.setToolDescription(RandomStringUtils.random(10, TEXT));
sysTool.setCreateDatetime(TimeTool.getNowTime(true));
sysTool.setModifyDatetime(TimeTool.getNowTime(true));
sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) ");
sb.append(" values("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'"
+sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"')");
sb.append("("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'"
+sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"'),");
}
entityManager.createNativeQuery(sb.toString());
LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) );
}
@Override
public void insertMongoDBBatch(int num, int waitTime) {
sb.deleteCharAt(sb.length() - 1);
Query sql = entityManager.createNativeQuery(sb.toString());
LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",操作数:" + sql.executeUpdate());
}
@Override

@ -42,21 +42,27 @@ public class MessageLetterQueueReceiver {
/**
*
*
* @param msg
* @param channel
* @param message
* rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....));
* @param message rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....));
*/
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE)
public void processImppMessage(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}",msg);
LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}", msg);
msg = sysMessageService.insertSysMessage(msg);
LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}", msg);
// 收件人信息
String[] messageReceiver = msg.getMessageReceiversId().split(",");
String[] receiverName = new String[messageReceiver.length];
String[] messageReceiver = new String[0];
String[] receiverName = new String[0];
if (msg.getMessageReceiversId() != null) {
messageReceiver = msg.getMessageReceiversId().split(",");
receiverName = new String[messageReceiver.length];
}
SysRefUserMessage refUserMessage;
SysUser sysUser;
@ -65,40 +71,41 @@ public class MessageLetterQueueReceiver {
for (int i = 0; i < messageReceiver.length; i++) {
sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i]));
receiverName[i] = sysUser.getUserName();
if(sysUser != null) {
receiverName[i] = sysUser.getUserName();
refUserMessage = new SysRefUserMessage();
refUserMessage.setMessageId(msg.getId());
refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(sysUser.getId());
refUserMessage.setReceiverNameRdd(sysUser.getUserName());
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
refUserMessage.setIsUrgent(msg.getIsUrgent());
refUserMessage = new SysRefUserMessage();
refUserMessage.setMessageId(msg.getId());
refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(sysUser.getId());
refUserMessage.setReceiverNameRdd(sysUser.getUserName());
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
refUserMessage.setIsUrgent(msg.getIsUrgent());
sysMessageService.insertSysRefUserMessage(refUserMessage);
sysMessageService.insertSysRefUserMessage(refUserMessage);
userMessage = sysMessageService.findSysRefUserMessageByUserIdAndStatus(sysUser.getId(),
ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
MessageWebSocket.sendMessage(sysUser.getUserInfoId(),
mapper.writeValueAsString(userMessage)
);
userMessage = sysMessageService.findSysRefUserMessageByUserIdAndStatus(sysUser.getId(),
ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
MessageWebSocket.sendMessage(sysUser.getUserInfoId(),
mapper.writeValueAsString(userMessage)
);
}
}
msg.setMessageReceiversNameRdd(StringUtils.join(receiverName, ","));
sysMessageService.updateSysMessage(msg);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (IOException e) {
LOGGER.error("【MQ-IMPP_MESSAGE_LETTER_QUEUE】处理出错{}",e.getMessage(),e);
LOGGER.error("【MQ-IMPP_MESSAGE_LETTER_QUEUE】处理出错{}", e.getMessage(), e);
//丢弃这条消息
try {
// 未成功处理,重新发送
channel.basicNack(message.getMessageProperties().getDeliveryTag(),false,true);
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
} catch (IOException e1) {
e1.printStackTrace();
}

@ -52,7 +52,8 @@ public class MessageMailQueueReceiver {
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE)
public void processImppMail(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}",msg);msg = sysMessageService.insertSysMessage(msg);
LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}",msg);
msg = sysMessageService.insertSysMessage(msg);
mailUtil.init();
// 系统预警邮件与用户邮件判断
@ -73,7 +74,6 @@ public class MessageMailQueueReceiver {
mailUtil.send();
} else{
// 收件人信息
String[] messageReceiver = msg.getMessageReceiversId().split(",");
String[] receiverName = new String[messageReceiver.length];

@ -86,7 +86,7 @@ public class ScheduleQueueReceiver {
}
// 发送到对应处理队列
if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()){
if(taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()){
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE,sysMessage);
}else{
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE,sysMessage);

@ -1,16 +1,15 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService;
import cn.estsh.i3plus.core.apiservice.dao.ISysLogSystemDao;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogSystemRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreBsonPack;
import com.mongodb.client.model.Filters;
import io.swagger.annotations.ApiOperation;
import org.bson.conversions.Bson;
import org.slf4j.Logger;
@ -19,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -71,8 +69,9 @@ public class SysLogSystemService implements ISysLogSystemService {
@Override
@ApiOperation(value = "删除日志",notes = "删除日志")
public void deleteSysLogSystemById(Long id) {
logSystemRDao.deleteById(id);
public long deleteSysLogSystemById(Long id) {
Bson bson = Filters.eq("id",id);
return logSystemRDao.deleteByProperty(bson);
}
@Override
@ -102,7 +101,14 @@ public class SysLogSystemService implements ISysLogSystemService {
}
@Override
public void deleteSysLogSystemByIds(Long[] ids) {
logSystemRDao.deleteByIds(ids);
@ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除")
public long deleteSysLogSystemByIds(Long[] ids) {
return logSystemRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询")
public List<SysLogSystem> findSysLogSystemByIdInterval(long min, long max) {
return logSystemRDao.findByBson(CoreBsonPack.packBsonByInterval("_id",min,max));
}
}

@ -46,21 +46,22 @@ public class SysToolService implements ISysToolService {
@ApiOperation(value = "新增硬件信息")
public SysTool insertSysTool(SysTool tool) {
// 查询硬件类型名称
LOGGER.info("硬件类型 TOOL_TYPE :{}", tool);
SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId());
ValidatorBean.checkNotNull(toolType);
tool.setToolTypeNameRdd(toolType.getName());
LOGGER.info("硬件 TOOL tool:{}",tool);
//todo 压测关闭校验提高处理速度
// LOGGER.info("硬件类型 TOOL_TYPE :{}", tool);
// SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId());
// ValidatorBean.checkNotNull(toolType);
//
// tool.setToolTypeNameRdd(toolType.getName());
//
// LOGGER.info("硬件 TOOL tool:{}",tool);
return toolRDao.insert(tool);
}
@Override
@ApiOperation(value = "删除硬件信息",notes = "根据 ID 删除硬件信息")
public void deleteSysToolById(Long id) {
public int deleteSysToolById(Long id) {
LOGGER.info("硬件 TOOL id:{}",id);
toolRDao.deleteById(id);
return toolRDao.deleteByProperty("id",id);
}
@Override
@ -79,7 +80,12 @@ public class SysToolService implements ISysToolService {
@Override
public void insertBatch(int num,int waitTime){
testDao.insertBatch(num,waitTime);
try {
testDao.insertBatch(num,waitTime);
Thread.sleep(waitTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
@ -119,22 +125,27 @@ public class SysToolService implements ISysToolService {
@Override
@ApiOperation(value = "删除硬件信息",notes = "根据 ID 批量删除硬件信息")
public void deleteSysToolByIds(Long[] ids) {
public int deleteSysToolByIds(Long[] ids) {
LOGGER.info("消息 SYS_MESSAGE ids:{}", Arrays.toString(ids));
toolRDao.deleteByIds(ids);
return toolRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "更新设备信息",notes = "根据 ID 批量修改硬件状态信息")
public void updateSysToolStatusByIds(Long[] ids, Integer status) {
public int updateSysToolStatusByIds(Long[] ids, Integer status) {
LOGGER.info("硬件 TOOL ids{}status{}",ids,status);
StringBuffer where = new StringBuffer();
HqlPack.getInPack(StringUtils.join( ids,","), "id", where);
toolRDao.updateByHqlWhere(where.toString(), "toolStatus", status);
return toolRDao.updateByHqlWhere(where.toString(), "toolStatus", status);
}
public List<SysTool> findSysToolByTop(int topNum) {
return toolRDao.findByHqlTopWhere("",topNum);
}
@Override
public List<SysTool> findSysToolByIdInterval(long min, long max) {
return toolRDao.findByHqlWhere(CoreHqlPack.packHqlByInterval("id",min,max));
}
}

Loading…
Cancel
Save