From 588e2050b3844b7f8e8990114cd25da6b036e7d7 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Mon, 14 Jan 2019 12:00:13 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E4=B8=BB=E9=94=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E8=B0=83=E6=95=B4=EF=BC=8C=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DemoRedisMqController.java | 48 ++++++++++++++++------ .../core/apiservice/mq/I3CoreQueueConfig.java | 4 +- .../core/apiservice/mq/I3CoreQueueReceiver.java | 8 ++-- .../serviceimpl/base/DataSimpleServiceImpl.java | 1 - 4 files changed, 41 insertions(+), 20 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java index 66f3cab..6853f04 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java @@ -16,9 +16,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.web.bind.annotation.GetMapping; @@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.IOException; import java.util.Locale; +import java.util.Set; import java.util.concurrent.TimeoutException; /** @@ -39,7 +41,7 @@ import java.util.concurrent.TimeoutException; **/ @RestController @Api(description="复杂对象服务demo") -@RequestMapping(PlatformConstWords.BASE_URL + "/demo") +@RequestMapping(PlatformConstWords.BASE_URL + "/demo-redis-mq") public class DemoRedisMqController extends CoreBaseController{ private static final Logger LOGGER = LoggerFactory.getLogger(DemoRedisMqController.class); @@ -57,12 +59,33 @@ public class DemoRedisMqController extends CoreBaseController{ @Autowired private RabbitTemplate rabbitTemplate; + @Autowired + private RabbitListenerEndpointRegistry rabbitRegistry; + + @Autowired + private ConnectionFactory connectionFactory; + /** * mq工厂,用于生产ack消息 */ @Autowired private CachingConnectionFactory mqFactory; + @GetMapping(value="/get-mq-info") + @ApiOperation(value="获取队列信息") + public ResultBean getMqInfo(){ + System.out.println(rabbitRegistry.isAutoStartup() + " " + rabbitRegistry.isRunning()); + System.out.println(mqFactory.isPublisherConfirms() + " " + mqFactory.isPublisherReturns()); + System.out.println(connectionFactory); + + Set ids = rabbitRegistry.getListenerContainerIds(); + for(String id : ids){ + System.out.println("id = "+id); + } + + return new ResultBean(true); + } + @GetMapping(value="/put-cache") @ApiOperation(value="缓存",notes="放入数据") public ResultBean putCache(){ @@ -83,7 +106,7 @@ public class DemoRedisMqController extends CoreBaseController{ return new ResultBean(true); } - @GetMapping(value="/send-mq") + /*@GetMapping(value="/send-mq") @ApiOperation(value="队列",notes="发送") public ResultBean sendMQ(String data){ String context = "hello : " + data; @@ -98,9 +121,9 @@ public class DemoRedisMqController extends CoreBaseController{ //this.rabbitTemplate.convertAndSend(I3CoreQueueConfig.DEMO_OBJ_QUEUE, new MachineFactory("111mq","rabbit")); return new ResultBean(true,"操作成功"); - } + }*/ - @GetMapping(value="/get-mq-handle") + /*@GetMapping(value="/get-mq-handle") @ApiOperation(value="手动获取队列",notes="接收队列") public ResultBean getHandleMQ(){ Object data = this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_HANDLE_QUEUE); @@ -119,7 +142,7 @@ public class DemoRedisMqController extends CoreBaseController{ } return new ResultBean(true,""); - } + }*/ /** * 有确认或返回的队列 @@ -129,7 +152,7 @@ public class DemoRedisMqController extends CoreBaseController{ * @throws IOException * @throws TimeoutException */ - @GetMapping(value="/send-returnmsg") + /*@GetMapping(value="/send-returnmsg") @ApiOperation(value="队列返回信息",notes="发送") public ResultBean sendReturnMQ(int type,String data) throws IOException, TimeoutException { if(type == 1) { @@ -152,16 +175,15 @@ public class DemoRedisMqController extends CoreBaseController{ String returnMsg = (String) rabbitTemplate.convertSendAndReceive(I3CoreQueueConfig.DEMO_RETURN_QUEUE, data); System.out.println("===返回数据==="+returnMsg); return new ResultBean(true,"操作成功"); - } + }*/ /** * 如果需要进行ack操作,需要添加RabbitListener方法 - * @param data * @return * @throws IOException * @throws TimeoutException */ - @GetMapping(value="/send-ackmsg") + /*@GetMapping(value="/send-ackmsg") @ApiOperation(value="ack队列",notes="发送") public ResultBean sendAckMQ(String data) throws IOException, TimeoutException { System.out.println("发送ack数据 : " + data); @@ -181,13 +203,13 @@ public class DemoRedisMqController extends CoreBaseController{ Message message = rabbitTemplate.receive(I3CoreQueueConfig.DEMO_ACK_QUEUE); System.out.println("3=============="+message); try { - /*String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); + *//*String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); System.out.println("【client】数据接收成功:" + data); if("ack".equals(data)){ System.out.println("【client】数据抛出异常"); throw new RuntimeException("【队列抛出异常】" + data); - }*/ + }*//* String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); System.out.println("【client】数据接收成功:" + data); @@ -211,7 +233,7 @@ public class DemoRedisMqController extends CoreBaseController{ } } return new ResultBean(true,"操作成功"); - } + }*/ @GetMapping(value="/exception-demo") @ApiOperation(value="异常demo",notes="异常demo") diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java index 9498b4f..bf3d32f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java @@ -29,7 +29,7 @@ public class I3CoreQueueConfig { /*********** 队列demo ***********/ - public static final String DEMO_STR_QUEUE = "demo_str_queue"; + /*public static final String DEMO_STR_QUEUE = "demo_str_queue"; @Bean public Queue getStrQueue() { //LOGGER.info("【DEMO_STR_QUEUE队列】"); @@ -62,5 +62,5 @@ public class I3CoreQueueConfig { public Queue getReturnQueue() throws Exception { //LOGGER.info("【DEMO_RETURN_QUEUE队列】"); return new Queue(DEMO_RETURN_QUEUE); - } + }*/ } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java index 247762c..2636dba 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java @@ -59,7 +59,7 @@ public class I3CoreQueueReceiver { System.out.println("强转对象:" + data); }*/ - @RabbitListener(queues = I3CoreQueueConfig.DEMO_RETURN_QUEUE) + /*@RabbitListener(queues = I3CoreQueueConfig.DEMO_RETURN_QUEUE) public Message processReturn(String data, Channel channel, Message message) { try { System.out.println("【client】数据接收成功:" + data); @@ -96,10 +96,10 @@ public class I3CoreQueueReceiver { try { System.out.println("【client】数据接收成功:" + data); - /*if(data.startsWith("ack")){ + *//*if(data.startsWith("ack")){ System.out.println("【client】数据抛出异常"); throw new RuntimeException("【队列抛出异常】" + data); - }*/ + }*//* //在队列删掉 不会再发了 否则消息服务器以为这条消息没处理掉 后续还会在发 channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); } catch (IOException e) { @@ -114,5 +114,5 @@ public class I3CoreQueueReceiver { e1.printStackTrace(); } } - } + }*/ } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/DataSimpleServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/DataSimpleServiceImpl.java index 4eda967..1994a30 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/DataSimpleServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/DataSimpleServiceImpl.java @@ -22,7 +22,6 @@ public class DataSimpleServiceImpl implements IDataSimpleService { @Override public void saveMachineFactory(MachineFactory machineFactory) { //生成主键 - machineFactory.setId(new SnowflakeIdMaker().nextId()); machineFactoryDao.save(machineFactory); }*/ /* From a4c65f94ec5f3a90009a25a58f1022fb214a7a70 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Fri, 18 Jan 2019 10:14:25 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=85=83=E7=B4=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java index fb410d1..7942173 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java @@ -175,7 +175,7 @@ public class ExcelUtil { } finally { try { workbook.close(); - fos.close();; + fos.close(); } catch (IOException e) { LOGGER.error("IOException!", e); } From 6f4f22dc1cb38b34412811c87fe9fec9bd0d2b54 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Fri, 18 Jan 2019 12:59:34 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0=E5=92=8C=E6=B6=88=E6=81=AF=E9=98=9F=E5=88=97?= =?UTF-8?q?=E7=9A=84=E4=BA=A4=E6=8D=A2=E6=9C=BA=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/apiservice/configuration/MqConfig.java | 24 +++ .../controller/DemoRedisMqController.java | 196 +++++++++++++-------- .../core/apiservice/mq/CommonQueueReceive.java | 87 +++++++++ .../core/apiservice/mq/I3CoreQueueConfig.java | 8 +- .../core/apiservice/thread/CoreDemoThread.java | 50 ++++++ .../src/main/resources/application.properties | 6 +- 6 files changed, 295 insertions(+), 76 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/CommonQueueReceive.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/thread/CoreDemoThread.java diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java new file mode 100644 index 0000000..e9daa23 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java @@ -0,0 +1,24 @@ +package cn.estsh.i3plus.core.apiservice.configuration; + +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; + +/** + * @Description : + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2019-01-10 16:53 + * @Modify: + **/ +@Configuration +public class MqConfig { + @Resource(name="rabbitConnectionFactory") + private ConnectionFactory connectionFactory; + + @Autowired + private RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry; +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java index 6853f04..63c2b33 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java @@ -1,14 +1,20 @@ package cn.estsh.i3plus.core.apiservice.controller; +import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig; +import cn.estsh.i3plus.core.apiservice.thread.CoreDemoThread; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.platform.common.util.QueueConstWords; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysRole; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.thread.ImppThreadPool; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import com.rabbitmq.client.Channel; @@ -16,6 +22,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -28,6 +35,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.IOException; +import java.util.List; import java.util.Locale; import java.util.Set; import java.util.concurrent.TimeoutException; @@ -41,7 +49,7 @@ import java.util.concurrent.TimeoutException; **/ @RestController @Api(description="复杂对象服务demo") -@RequestMapping(PlatformConstWords.BASE_URL + "/demo-redis-mq") +@RequestMapping("/demo-redis-mq") public class DemoRedisMqController extends CoreBaseController{ private static final Logger LOGGER = LoggerFactory.getLogger(DemoRedisMqController.class); @@ -60,6 +68,9 @@ public class DemoRedisMqController extends CoreBaseController{ private RabbitTemplate rabbitTemplate; @Autowired + private ISysRoleService sysRoleService; + + @Autowired private RabbitListenerEndpointRegistry rabbitRegistry; @Autowired @@ -99,14 +110,83 @@ public class DemoRedisMqController extends CoreBaseController{ @GetMapping(value="/get-cache") @ApiOperation(value="缓存",notes="获取数据") public ResultBean getCache(){ - //MachineFactory mf = (MachineFactory) redisCore.getObject("machineFactory"); - //System.out.println("1===== " + mf); System.out.println("2===== " + redisCore.getObject("wms")); return new ResultBean(true); } - /*@GetMapping(value="/send-mq") + @GetMapping(value="/exception-demo") + @ApiOperation(value="异常demo",notes="异常demo") + public ResultBean exceptionDemp() throws IOException, TimeoutException { + String data = "true"; + + if("true".equals(data)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.WMS.getCode()) + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail("aaa操作数据出错") + .setErrorSolution("检查数据完整性") + .build(); + } + return new ResultBean(true,"操作成功"); + } + + @GetMapping(value="/international") + @ApiOperation(value="国际化处理",notes="资源配置文件及国际化") + public ResultBean international() { + Locale locale = LocaleContextHolder.getLocale(); + System.out.println(locale.getLanguage() + " " + locale.getCountry()); + + return new ResultBean(true,"操作成功 : " + locale.getLanguage() + " " + locale.getCountry()); + } + + @Resource(name="redisSession") + private ImppRedis redisSession; + + @GetMapping(value="/set-redis") + @ApiOperation(value="setredis") + public ResultBean setRedis(String key,String value) { + //redisSession.putObject(key,value); + //redisCore.putObject(key,value); + + + ResultBean rs = new ResultBean(true,"yes"); + rs.setPager(new Pager(100)); + redisSession.putObject("rs",rs); + redisCore.putObject("rs",rs); + + return new ResultBean(true,"操作成功 : " + key + " : " + value); + } + + @GetMapping(value="/get-redis") + @ApiOperation(value="getredis") + public ResultBean getRedis(String key) { + Object d1 = redisSession.getObject(key); + System.out.println("redisSession-d1==" + d1); + Object d2 = redisCore.getObject(key); + + if(d1 != null) { + SessionUser sessionUser = AuthUtil.getSessionUser(); + System.out.println(sessionUser.toString()); + } + + System.out.println("redisCore-d2==" + d2); + System.out.println(d1 == null?"null":d1.toString()); + System.out.println(d2 == null?"null":d2.toString()); + return new ResultBean(true,"操作成功 : " + d1 + " : " + d2); + } + + @GetMapping(value="/test-thread") + @ApiOperation(value="testThread") + public ResultBean testThread(String param) { + ImppThreadPool.getThreadExcutorService().execute(new CoreDemoThread(param)); + + return new ResultBean(true,"操作成功"); + } + + + + @GetMapping(value="/send-mq") @ApiOperation(value="队列",notes="发送") public ResultBean sendMQ(String data){ String context = "hello : " + data; @@ -121,9 +201,9 @@ public class DemoRedisMqController extends CoreBaseController{ //this.rabbitTemplate.convertAndSend(I3CoreQueueConfig.DEMO_OBJ_QUEUE, new MachineFactory("111mq","rabbit")); return new ResultBean(true,"操作成功"); - }*/ + } - /*@GetMapping(value="/get-mq-handle") + @GetMapping(value="/get-mq-handle") @ApiOperation(value="手动获取队列",notes="接收队列") public ResultBean getHandleMQ(){ Object data = this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_HANDLE_QUEUE); @@ -142,7 +222,7 @@ public class DemoRedisMqController extends CoreBaseController{ } return new ResultBean(true,""); - }*/ + } /** * 有确认或返回的队列 @@ -152,7 +232,7 @@ public class DemoRedisMqController extends CoreBaseController{ * @throws IOException * @throws TimeoutException */ - /*@GetMapping(value="/send-returnmsg") + @GetMapping(value="/send-returnmsg") @ApiOperation(value="队列返回信息",notes="发送") public ResultBean sendReturnMQ(int type,String data) throws IOException, TimeoutException { if(type == 1) { @@ -175,7 +255,7 @@ public class DemoRedisMqController extends CoreBaseController{ String returnMsg = (String) rabbitTemplate.convertSendAndReceive(I3CoreQueueConfig.DEMO_RETURN_QUEUE, data); System.out.println("===返回数据==="+returnMsg); return new ResultBean(true,"操作成功"); - }*/ + } /** * 如果需要进行ack操作,需要添加RabbitListener方法 @@ -183,7 +263,7 @@ public class DemoRedisMqController extends CoreBaseController{ * @throws IOException * @throws TimeoutException */ - /*@GetMapping(value="/send-ackmsg") + @GetMapping(value="/send-ackmsg") @ApiOperation(value="ack队列",notes="发送") public ResultBean sendAckMQ(String data) throws IOException, TimeoutException { System.out.println("发送ack数据 : " + data); @@ -196,20 +276,20 @@ public class DemoRedisMqController extends CoreBaseController{ @ApiOperation(value="getack队列",notes="接收") public ResultBean getAckMQ() throws IOException, TimeoutException { Channel channel = this.rabbitTemplate.getConnectionFactory().createConnection().createChannel(false); - System.out.println("1====" + channel); + LOGGER.info("channel = {}",channel); String str = (String) rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); - System.out.println("2=============="+str); + LOGGER.info("str = {}",str); Message message = rabbitTemplate.receive(I3CoreQueueConfig.DEMO_ACK_QUEUE); - System.out.println("3=============="+message); + LOGGER.info("message = {}",message); try { - *//*String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); + /*String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); System.out.println("【client】数据接收成功:" + data); if("ack".equals(data)){ System.out.println("【client】数据抛出异常"); throw new RuntimeException("【队列抛出异常】" + data); - }*//* + }*/ String data = (String) this.rabbitTemplate.receiveAndConvert(I3CoreQueueConfig.DEMO_ACK_QUEUE); System.out.println("【client】数据接收成功:" + data); @@ -233,66 +313,44 @@ public class DemoRedisMqController extends CoreBaseController{ } } return new ResultBean(true,"操作成功"); - }*/ - - @GetMapping(value="/exception-demo") - @ApiOperation(value="异常demo",notes="异常demo") - public ResultBean exceptionDemp() throws IOException, TimeoutException { - String data = "true"; - - if("true".equals(data)) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.WMS.getCode()) - .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail("aaa操作数据出错") - .setErrorSolution("检查数据完整性") - .build(); - } - return new ResultBean(true,"操作成功"); } - @GetMapping(value="/international") - @ApiOperation(value="国际化处理",notes="资源配置文件及国际化") - public ResultBean international() { - Locale locale = LocaleContextHolder.getLocale(); - System.out.println(locale.getLanguage() + " " + locale.getCountry()); - - return new ResultBean(true,"操作成功 : " + locale.getLanguage() + " " + locale.getCountry()); - } - - @Resource(name="redisSession") - private ImppRedis redisSession; - - @GetMapping(value="/set-redis") - @ApiOperation(value="setredis") - public ResultBean setRedis(String key,String value) { - //redisSession.putObject(key,value); - //redisCore.putObject(key,value); - - - ResultBean rs = new ResultBean(true,"yes"); - rs.setPager(new Pager(100)); - redisSession.putObject("rs",rs); - redisCore.putObject("rs",rs); + /** + * 发送角色至mq交换机 + * @return + * @throws IOException + * @throws TimeoutException + */ + @GetMapping(value="/send-mq-role") + @ApiOperation(value="发送角色信息队列",notes="发送") + public ResultBean sendRoleMQ(int sendCount) throws IOException, TimeoutException { + List roleList = sysRoleService.findSysRoleAll(); + LOGGER.info("共有角色数:{}",roleList.size()); + + //发送信息至通用交换机-》扇形交换 + SysRole sysRole; + for(int i=0;i Date: Sun, 20 Jan 2019 13:32:48 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=20=E7=9B=AE=E5=BD=95=E5=8A=9F=E8=83=BD=20=E8=81=94?= =?UTF-8?q?=E8=B0=83=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysRoleService.java | 4 + .../controller/busi/SysRoleController.java | 13 +++ .../controller/report/CoreReportController.java | 127 +++++++++++++++++++-- .../serviceimpl/busi/SysRoleService.java | 44 ++++--- 4 files changed, 162 insertions(+), 26 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java index ca2b69f..70b8537 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java @@ -101,6 +101,9 @@ public interface ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询所有角色信息") List findSysRoleAll(); + @ApiOperation(value = "查信角色信息",notes = "查询指定角色信息") + List findSysRoleByInId(Long[] ids); + /** * 根据id 数据 * @@ -118,4 +121,5 @@ public interface ISysRoleService { */ @ApiOperation(value = "查信角色信息",notes = "查询角色信息(分页/组合)") ListPager querySysRole(SysRole role, Pager pager); + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index a641a81..92e4dae 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -115,6 +115,19 @@ public class SysRoleController extends CoreBaseController{ } } + @GetMapping(value = "/find-id-list") + @ApiOperation(value = "查询所有角色", notes = "查询所有系统角色") + public ResultBean findIdList(String[] ids) { + try { + List list = sysRoleService.findSysRoleAll(); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + @GetMapping(value = "/find-ref-menu/{roleId}") @ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系") public ResultBean findRefRoleMenu(@PathVariable("roleId") String roleId) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index 7e25cc9..a734ed9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -1,21 +1,27 @@ package cn.estsh.i3plus.core.apiservice.controller.report; +import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.platform.common.tool.ClassTool; +import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.model.common.ClassFieldModel; import cn.estsh.i3plus.pojo.model.common.ClassModel; +import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.persistence.Transient; import java.lang.reflect.Field; @@ -23,7 +29,7 @@ import java.util.ArrayList; import java.util.List; @RestController -@RequestMapping("/impp/cloud/report") +@RequestMapping(PlatformConstWords.BASE_URL + "/cloud/report") @Api(description="报表服务") public class CoreReportController { @@ -32,6 +38,54 @@ public class CoreReportController { @Value("${impp.app.pojo-packages}.bean") public String pojoPackagePath; + @Autowired + private ISysRoleService sysRoleService; + + @GetMapping(value = "/role/list") + @ApiOperation(value = "查询所有角色", notes = "查询所有系统角色") + public ResultBean findAll() { + try { + List list = sysRoleService.findSysRoleAll(); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping(value = "/role/list/ids") + @ApiOperation(value = "查询所有角色", notes = "查询所有系统角色") + public ResultBean findRoleByIdList(@RequestBody String[] ids) { + try { + List list = sysRoleService.findSysRoleByInId(StringTool.getArrayLong(ids)); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value="/list-clz-model") + @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") + public BaseResultBean listClzModel() { + LOGGER.info("【类路径:{}】",pojoPackagePath); + List clzNameList = ClassTool.getClassName(pojoPackagePath, true); + List clzList = new ArrayList<>(clzNameList.size()); + for(String clzName : clzNameList){ + ClassModel model = getClassModel(clzName); + if(model != null){ + if(StringUtils.isNotBlank(model.getClzFullName())){ + List list = getClassFieldModel(model.getClzFullName()); + model.setFieldList(list); + } + clzList.add(model); + } + } + return ResultBean.success("获取类:" + clzList.size()).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(clzList); + } + @GetMapping(value="/list-clz") @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") public BaseResultBean listClz() { @@ -66,8 +120,8 @@ public class CoreReportController { } return ResultBean.success("获取类:" + clzList.size()) - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultList(clzList); + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(clzList); } @GetMapping(value="/pojo-property") @@ -108,10 +162,67 @@ public class CoreReportController { } catch (ClassNotFoundException e) { LOGGER.error("【类:{}实例化出错】",clzFullName,e); } - return ResultBean.success("获取属性:" + fieldModelList.size()) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setResultList(fieldModelList); } + + private ClassModel getClassModel(String clzName){ + try { + //注册类 + Class tmpClz = Class.forName(clzName); + ClassModel classModel = new ClassModel(); + classModel.setServerId(CommonEnumUtil.SOFT_TYPE.CORE.getValue()); + classModel.setServerName(CommonEnumUtil.SOFT_TYPE.CORE.getCode()); + classModel.setPackageName(pojoPackagePath); + classModel.setClzFullName(clzName); + classModel.setClzSimpleName(tmpClz.getSimpleName()); + + Api api = (Api) tmpClz.getAnnotation(Api.class); + if(api != null) { + classModel.setClzDesc(api.value()); + return classModel; + }else{ + LOGGER.warn("不添加类:{},因为没有添加api描述", tmpClz); + } + } catch (ClassNotFoundException e) { + LOGGER.error("【类:{}注册出错】",clzName,clzName,e); + } + return null; + } + + private List getClassFieldModel(String clzFullName){ + List fieldModelList = new ArrayList<>(); + try { + Class tmpClz = Class.forName(clzFullName); + List fields = ClassTool.getAllFieldsList(tmpClz); + ClassFieldModel fieldModel = null; + for(Field f : fields){ + Transient tran = f.getAnnotation(Transient.class); + if(tran == null) { + // 临时对象不需要处理 + fieldModel = new ClassFieldModel(); + fieldModel.setPackageName(pojoPackagePath); + fieldModel.setClzFullName(clzFullName); + fieldModel.setClzSimpleName(tmpClz.getSimpleName()); + fieldModel.setFieldName(f.getName()); + + ApiParam apiParam = f.getAnnotation(ApiParam.class); + if(apiParam != null){ + fieldModel.setFieldDesc(apiParam.value()); + fieldModelList.add(fieldModel); + }else{ + LOGGER.warn("不添加属性:{},因为没有添加api描述", f.getName()); + } + }else{ + LOGGER.info("【临时属性:{}】",f.getName()); + } + } + } catch (ClassNotFoundException e) { + LOGGER.error("【类:{}实例化出错】",clzFullName,e); + } + return fieldModelList; + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index e96bd8a..ffb50af 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -2,7 +2,6 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -41,7 +40,7 @@ public class SysRoleService implements ISysRoleService { public static final Logger LOGGER = LoggerFactory.getLogger(SysRoleService.class); @Autowired - private SysRoleRepository sysRoleRDao; + private SysRoleRepository roleRDao; @Autowired private SysMenuRepository sysMenuRDao; @@ -56,7 +55,7 @@ public class SysRoleService implements ISysRoleService { @ApiOperation(value = "更新角色信息",notes = "更新角色信息") public void updateSysRole(SysRole sysRole) { LOGGER.info("系统角色 SYS_ROLE :{}", sysRole); - sysRoleRDao.update(sysRole); + roleRDao.update(sysRole); // 更新冗余信息 personnelService.refreshUpdateSysRoleRdd(sysRole.getId()); } @@ -65,10 +64,10 @@ public class SysRoleService implements ISysRoleService { @ApiOperation(value = "更新角色信息",notes = "更新角色状态信息") public void updateSysRoleStatus(Long id, int status, SessionUser user) { LOGGER.info("系统角色 SYS_MENU id:{} status:{} user:{}", id,status,user); - SysRole role = sysRoleRDao.getById(id); + SysRole role = roleRDao.getById(id); role.setRoleStatus(status); role.setModifyUser(user.getUserName()); - sysRoleRDao.update(role); + roleRDao.update(role); } @Override @@ -78,7 +77,7 @@ public class SysRoleService implements ISysRoleService { StringBuffer where = new StringBuffer(); HqlPack.getInPack(StringUtils.join( ids,","), "id", where); - sysRoleRDao.updateByHqlWhere(where.toString(), "roleStatus", status); + roleRDao.updateByHqlWhere(where.toString(), "roleStatus", status); } @Override @@ -86,14 +85,14 @@ public class SysRoleService implements ISysRoleService { public void deleteSysRoleById(Long id) { LOGGER.info("系统角色 SYS_ROLE Key:{}", id); refRoleMenuRDao.deleteByProperty("roleId",id); - sysRoleRDao.deleteById(id); + roleRDao.deleteById(id); } @Override @ApiOperation(value = "删除角色信息",notes = "根据ID 批量删除角色信息") public void deleteSysRoleByIds(Long[] ids) { LOGGER.info("系统角色 SYS_ROLE ids :{}", ids); - long positionCount = sysRoleRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); + long positionCount = roleRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); if (positionCount >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -103,7 +102,7 @@ public class SysRoleService implements ISysRoleService { .build(); }else { refRoleMenuRDao.deleteByPropertyIn("roleId",ids); - sysRoleRDao.deleteByIds(ids); + roleRDao.deleteByIds(ids); } } @@ -111,7 +110,7 @@ public class SysRoleService implements ISysRoleService { @ApiOperation(value = "新增角色信息") public SysRole insertSysRole(SysRole sysRole) { LOGGER.info("系统角色 SYS_ROLE :{}", sysRole); - return sysRoleRDao.insert(sysRole); + return roleRDao.insert(sysRole); } @Override @@ -130,7 +129,7 @@ public class SysRoleService implements ISysRoleService { LOGGER.info("系统角色 List :{}", ids); String roleWhere = CoreHqlPack.packHqlIds("id", roleIds); - List roleList = sysRoleRDao.findByHqlWhere(roleWhere); + List roleList = roleRDao.findByHqlWhere(roleWhere); if(roleList != null && roleList.size() > 0){ List moduleListRdd = new ArrayList<>(); @@ -190,7 +189,7 @@ public class SysRoleService implements ISysRoleService { } refRoleMenuRDao.saveAll(refs); - sysRoleRDao.saveAll(roleList); + roleRDao.saveAll(roleList); }else { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -215,14 +214,23 @@ public class SysRoleService implements ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询所有角色信息") public List findSysRoleAll() { LOGGER.info("系统角色 SYS_ROLE find All"); - return sysRoleRDao.findByProperty(new String[]{"roleStatus"},new Object[]{CommonEnumUtil.DATA_STATUS.ENABLE.getValue()}); + return roleRDao.findByProperty(new String[]{"roleStatus"},new Object[]{CommonEnumUtil.DATA_STATUS.ENABLE.getValue()}); + } + + @Override + @ApiOperation(value = "查信角色信息",notes = "查询指定角色信息") + public List findSysRoleByInId(Long[] ids) { + LOGGER.info("系统角色 SYS_ROLE find In Id"); + StringBuffer findWhere = new StringBuffer(); + HqlPack.getInPack(StringUtils.join(ids,","),"id",findWhere); + return roleRDao.findByHqlWhere(findWhere.toString()); } @Override @ApiOperation(value = "查信角色信息",notes = "根据 ID 查询角色信息") public SysRole getSysRoleById(Long id) { LOGGER.info("系统角色 SYS_ROLE find id:{}", id); - return sysRoleRDao.getOne(id); + return roleRDao.getOne(id); } @Override @@ -232,14 +240,14 @@ public class SysRoleService implements ISysRoleService { if (role == null) { //不传入实体对象,查询所有 - int count = sysRoleRDao.listCount(); + int count = roleRDao.listCount(); pager = PagerHelper.getPager(pager, count); - return new ListPager(sysRoleRDao.listPager(pager), pager); + return new ListPager(roleRDao.listPager(pager), pager); } else { //生成hql查询语句 String hqlPack = CoreHqlPack.packHqlSysRole(role); - pager = PagerHelper.getPager(pager, sysRoleRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(sysRoleRDao.findByHqlWherePage(hqlPack + role.orderBy(), pager), pager); + pager = PagerHelper.getPager(pager, roleRDao.findByHqlWhereCount(hqlPack)); + return new ListPager(roleRDao.findByHqlWherePage(hqlPack + role.orderBy(), pager), pager); } } } From f929be682f711e9b677b6ff5245316e392aa1699 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Sun, 27 Jan 2019 11:51:09 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/controller/busi/SysConfigController.java | 17 ++++++++++++----- .../core/apiservice/mq/MessageMailQueueReceiver.java | 4 ++-- .../cn/estsh/i3plus/core/apiservice/util/MailUtil.java | 13 +++++++++++++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index 63c6147..1f674c4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -10,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.MailConfig; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysConfig; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -230,17 +231,23 @@ public class SysConfigController extends CoreBaseController { } } - @GetMapping("/send-test-mail/{to}") + @GetMapping("/send-test-mail") @ApiOperation(value = "邮件测试") - public ResultBean sendTestMail(@PathVariable("to") String to){ + public ResultBean sendTestMail(MailConfig mailConfig){ try { - ValidatorBean.checkNotNull(to,"收件人不能为空"); + ValidatorBean.beginValid(mailConfig) + .notNull("mailHost",mailConfig.getMailHost()) + .notNull("mailPort",mailConfig.getMailPort()) + .notNull("mailUser",mailConfig.getMailUser()) + .notNull("mailPassword",mailConfig.getMailPassword()) + .notNull("mailNick",mailConfig.getMailNick()) + .notNull("testTo",mailConfig.getTestTo()); - mailUtil.init(); + mailUtil.init(mailConfig); mailUtil.setSubject("测试邮件"); mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getDescription()); mailUtil.setBody("测试邮件"); - mailUtil.setTo(to); + mailUtil.setTo(mailConfig.getTestTo()); mailUtil.send(); return ResultBean.success("测试邮件已发送").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index 0643d4c..930c657 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -60,7 +60,7 @@ public class MessageMailQueueReceiver { mailUtil.setBody(msg.getMessageContent()); mailUtil.setTo(sysConfigService.getSysConfigByCode(PlatformConstWords.CONTACT_MAIL).getConfigValue()); //信息已处理 -// mailUtil.send(); + mailUtil.send(); }else { // 收件人信息 @@ -91,7 +91,7 @@ public class MessageMailQueueReceiver { mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); mailUtil.setBody(msg.getMessageContent()); mailUtil.setTo(sysUser.getUserEmail()); -// mailUtil.send(); + mailUtil.send(); } msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ",")); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index 0441a03..11ffc87 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.util; import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.MailConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -58,6 +59,18 @@ public class MailUtil { return this; } + //初始化服务器邮箱参数 + public MailUtil init(MailConfig mailConfig) { + this.smtpHost = mailConfig.getMailHost(); + this.smtpPort = mailConfig.getMailPort(); + this.from = mailConfig.getMailUser(); + this.nick = mailConfig.getMailNick(); + this.smtpUser = mailConfig.getMailUser(); + this.smtpPassword = mailConfig.getMailPassword(); + this.isAuthenticationSMTP = true; + + return this; + } /** * 设置收件人地址 * From c49fce4da1db9b71731a6a9f2de228292eb8193c Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Mon, 28 Jan 2019 13:12:59 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=BE=AE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3=20=E6=8A=A5=E8=A1=A8=E5=85=83?= =?UTF-8?q?=E7=B4=A0=20=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/busi/SysFileController.java | 42 +++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index b01698b..a34cafc 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -3,11 +3,14 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; import cn.estsh.i3plus.pojo.platform.bean.SysFile; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -58,7 +61,9 @@ public class SysFileController extends CoreBaseController{ public ResultBean updateSysFile(SysFile sysFile){ try { // 条件验证 - ValidatorBean.beginValid(sysFile).notNull("name",sysFile.getName()); + ValidatorBean.beginValid(sysFile) + .notNull("id",sysFile.getId()) + .notNull("name",sysFile.getName()); sysFileService.updateSysFile(sysFile); return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); @@ -242,4 +247,39 @@ public class SysFileController extends CoreBaseController{ } } + @PostMapping(value = "/insert") + @ApiOperation(value = "新增文件资源",notes = "新增文件资源") + public ResultBean insertSysFile(@RequestBody SysFile sysFile){ + try { + // 条件验证 + ValidatorBean.beginValid(sysFile) + .notNull("dfsFileName",sysFile.getDfsFileName()) + .notNull("dfsGroupName",sysFile.getDfsGroupName()) + .notNull("fileOriginalName",sysFile.getFileOriginalName()); + + // 文件类型验证 + SysDictionary dictionary = dictionaryService.getSysDictionaryByParentCodeAndCode(BaseConstWords.DICTIONARY_FILE_TYPE, + StringTool.getStringFileSuffix(sysFile.getFileOriginalName(),false)); + if(dictionary == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode()) + .setErrorDetail("文件格式不支持") + .setErrorSolution("请到字典管理中添加文件类型") + .build(); + } + + // 初始化数据 + sysFile.setFileTypeId(dictionary.getId()); + sysFile.setFileTypeName(dictionary.getName()); + + sysFile = sysFileService.insertSysFile(sysFile); + return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + } \ No newline at end of file From 84694611c86fb3481d7a1623c9481b941b16dbef Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 28 Jan 2019 18:14:21 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/base/IReportService.java | 22 ++++ .../controller/report/CoreReportController.java | 117 +++++++++------------ .../i3plus/core/apiservice/dao/IReportDao.java | 16 +++ .../core/apiservice/daoimpl/ReportDaoImpl.java | 41 ++++++++ .../apiservice/serviceimpl/base/ReportService.java | 43 ++++++++ .../i3plus/core/apiservice/util/ExcelUtil.java | 1 - 6 files changed, 171 insertions(+), 69 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/IReportService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IReportDao.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/IReportService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/IReportService.java new file mode 100644 index 0000000..a41c23f --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/IReportService.java @@ -0,0 +1,22 @@ +package cn.estsh.i3plus.core.api.iservice.base; + +import cn.estsh.i3plus.pojo.model.report.TemplateModel; +import io.swagger.annotations.ApiOperation; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-01-20 16:04 + * @Modify: + **/ +public interface IReportService { + + @ApiOperation(value = "HQL 入侵检查",notes = "入侵检查") + void checkReportHQL(String hql); + + @ApiOperation(value = "HQL 执行",notes = "执行 HQL") + List selectTemplateModel(TemplateModel model) throws Exception; +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index a734ed9..9de7261 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -1,14 +1,17 @@ package cn.estsh.i3plus.core.apiservice.controller.report; +import cn.estsh.i3plus.core.api.iservice.base.IReportService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.platform.common.tool.ClassTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.annotation.RefPojo; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.model.common.ClassFieldModel; import cn.estsh.i3plus.pojo.model.common.ClassModel; +import cn.estsh.i3plus.pojo.model.report.TemplateModel; import cn.estsh.i3plus.pojo.platform.bean.SysRole; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -17,6 +20,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; +import org.hibernate.QueryException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,13 +43,16 @@ public class CoreReportController { public String pojoPackagePath; @Autowired - private ISysRoleService sysRoleService; + private ISysRoleService roleService; + + @Autowired + private IReportService reportService; @GetMapping(value = "/role/list") @ApiOperation(value = "查询所有角色", notes = "查询所有系统角色") public ResultBean findAll() { try { - List list = sysRoleService.findSysRoleAll(); + List list = roleService.findSysRoleAll(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -58,7 +65,7 @@ public class CoreReportController { @ApiOperation(value = "查询所有角色", notes = "查询所有系统角色") public ResultBean findRoleByIdList(@RequestBody String[] ids) { try { - List list = sysRoleService.findSysRoleByInId(StringTool.getArrayLong(ids)); + List list = roleService.findSysRoleByInId(StringTool.getArrayLong(ids)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -67,7 +74,23 @@ public class CoreReportController { } } - @GetMapping(value="/list-clz-model") + @PostMapping(value="/template-model/run") + @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") + public ResultBean runTemplateModel(@RequestBody TemplateModel model){ + LOGGER.info("【执行TemplateModel】TemplateModel:{}",model); + try { + List list = reportService.selectTemplateModel(model); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(model) + .setResultList(list); + }catch (Exception e){ + return ResultBean.fail("操作失败").setMsg(e.getMessage()).setErrorMsg(e.getLocalizedMessage() + ); + } + } + + + @GetMapping(value="/clz-model/list") @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") public BaseResultBean listClzModel() { LOGGER.info("【类路径:{}】",pojoPackagePath); @@ -86,37 +109,28 @@ public class CoreReportController { return ResultBean.success("获取类:" + clzList.size()).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(clzList); } + @GetMapping(value="/clz-model/{classPath}") + @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") + public BaseResultBean getClzModel(@PathVariable("classPath") String classPath) { + LOGGER.info("【类路径:{}】",pojoPackagePath); + ClassModel model = getClassModel(classPath); + if(model != null){ + if(StringUtils.isNotBlank(model.getClzFullName())){ + List list = getClassFieldModel(model.getClzFullName()); + model.setFieldList(list); + } + } + return ResultBean.success("获取类:" + model.getClzDesc()).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(model); + } + @GetMapping(value="/list-clz") @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") public BaseResultBean listClz() { LOGGER.info("【类路径:{}】",pojoPackagePath); List clzNameList = ClassTool.getClassName(pojoPackagePath, true); List clzList = new ArrayList<>(clzNameList.size()); - Class tmpClz = null; - Api api = null; - ClassModel classModel = null; for(String clzName : clzNameList){ - try { - //注册类 - tmpClz = Class.forName(clzName); - - classModel = new ClassModel(); - classModel.setPackageName(pojoPackagePath); - classModel.setClzFullName(clzName); - classModel.setClzSimpleName(tmpClz.getSimpleName()); - - api = (Api) tmpClz.getAnnotation(Api.class); - if(api != null) { - classModel.setClzDesc(api.value()); - - clzList.add(classModel); - }else{ - //classModel.setClzDesc(clzName); - LOGGER.warn("不添加类:{},因为没有添加api描述", tmpClz); - } - } catch (ClassNotFoundException e) { - LOGGER.error("【类:{}注册出错】",clzName,clzName,e); - } + clzList.add(getClassModel(clzName)); } return ResultBean.success("获取类:" + clzList.size()) @@ -128,40 +142,7 @@ public class CoreReportController { @ApiOperation(value="查询类所有属性") public ResultBean testWms(@RequestParam("clzFullName") String clzFullName) { LOGGER.info("【查询类属性:{}】",clzFullName); - - ApiParam apiParam = null; - Transient tran = null; - List fieldModelList = new ArrayList<>(); - try { - Class tmpClz = Class.forName(clzFullName); - List fields = ClassTool.getAllFieldsList(tmpClz); - ClassFieldModel fieldModel = null; - for(Field f : fields){ - tran = f.getAnnotation(Transient.class); - if(tran == null) { - // 临时对象不需要处理 - fieldModel = new ClassFieldModel(); - fieldModel.setPackageName(pojoPackagePath); - fieldModel.setClzFullName(clzFullName); - fieldModel.setClzSimpleName(tmpClz.getSimpleName()); - fieldModel.setFieldName(f.getName()); - - apiParam = f.getAnnotation(ApiParam.class); - if(apiParam != null){ - fieldModel.setFieldDesc(apiParam.value()); - - fieldModelList.add(fieldModel); - }else{ - //fieldModel.setFieldDesc(fieldModel.getFieldName()); - LOGGER.warn("不添加属性:{},因为没有添加api描述", f.getName()); - } - }else{ - LOGGER.info("【临时属性:{}】",f.getName()); - } - } - } catch (ClassNotFoundException e) { - LOGGER.error("【类:{}实例化出错】",clzFullName,e); - } + List fieldModelList = getClassFieldModel(clzFullName); return ResultBean.success("获取属性:" + fieldModelList.size()) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setResultList(fieldModelList); @@ -198,9 +179,11 @@ public class CoreReportController { Class tmpClz = Class.forName(clzFullName); List fields = ClassTool.getAllFieldsList(tmpClz); ClassFieldModel fieldModel = null; + ApiParam apiParam; + Transient tran; for(Field f : fields){ - Transient tran = f.getAnnotation(Transient.class); - if(tran == null) { + tran = f.getAnnotation(Transient.class); + if(tran == null && !"serialVersionUID".equals(f.getName())) { // 临时对象不需要处理 fieldModel = new ClassFieldModel(); fieldModel.setPackageName(pojoPackagePath); @@ -208,13 +191,11 @@ public class CoreReportController { fieldModel.setClzSimpleName(tmpClz.getSimpleName()); fieldModel.setFieldName(f.getName()); - ApiParam apiParam = f.getAnnotation(ApiParam.class); + apiParam = f.getAnnotation(ApiParam.class); if(apiParam != null){ fieldModel.setFieldDesc(apiParam.value()); - fieldModelList.add(fieldModel); - }else{ - LOGGER.warn("不添加属性:{},因为没有添加api描述", f.getName()); } + fieldModelList.add(fieldModel); }else{ LOGGER.info("【临时属性:{}】",f.getName()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IReportDao.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IReportDao.java new file mode 100644 index 0000000..ac48bf3 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IReportDao.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.core.apiservice.dao; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-01-20 16:11 + * @Modify: + **/ +public interface IReportDao { + + List findByHqlObjects(String hql, String[] paramName, Object[] paramValue) throws Exception; + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java new file mode 100644 index 0000000..ed7893f --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java @@ -0,0 +1,41 @@ +package cn.estsh.i3plus.core.apiservice.daoimpl; + +import cn.estsh.i3plus.core.apiservice.dao.IReportDao; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-01-20 16:14 + * @Modify: + **/ +@Service +public class ReportDaoImpl implements IReportDao { + + public static final Logger LOGGER = LoggerFactory.getLogger(ReportDaoImpl.class); + + @Autowired + private EntityManager entityManager; + + @Override + public List findByHqlObjects(String hql, String[] paramName, Object[] paramValue) throws Exception { + LOGGER.info(" find HQL:{} paramName:{} paramValue:{}", hql, paramName, paramValue); + Query queryObject = entityManager.createQuery(hql); + if(paramName != null && paramValue != null){ + for (int i = 0; i < paramName.length; i++) { + if (paramValue[i] != null) { + queryObject.setParameter(paramName[i], paramValue[i].toString()); + } + } + } + return queryObject.getResultList(); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java new file mode 100644 index 0000000..7d1a666 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java @@ -0,0 +1,43 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.core.api.iservice.base.IReportService; +import cn.estsh.i3plus.core.apiservice.dao.IReportDao; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.model.report.TemplateModel; +import org.hibernate.QueryException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-01-20 16:06 + * @Modify: + **/ +@Service +public class ReportService implements IReportService { + + private Logger LOGGER = LoggerFactory.getLogger(ReportService.class); + + @Autowired + private IReportDao reportDao; + + + @Override + public void checkReportHQL(String hql) { + LOGGER.info("报表 HQL 注入检查:{}",hql); + // HQL 非法入侵检查 + hql = HqlPack.getSafeParam(hql); + } + + @Override + public List selectTemplateModel(TemplateModel model) throws Exception{ + LOGGER.info("报表执行 model :{}",model); + return reportDao.findByHqlObjects(model.getHql(), model.getParamName(), model.getParamValue()); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java index 7942173..d2de4b4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java @@ -12,7 +12,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; import cn.estsh.i3plus.pojo.platform.bean.SysFile; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; -import cn.estsh.i3plus.pojo.platform.bean.SysTool; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import io.swagger.annotations.ApiParam; From 5c0065d9751acfa61422fde513fa62980955b688 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 28 Jan 2019 18:52:03 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/core/apiservice/controller/report/CoreReportController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index 9de7261..4fd5198 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -5,7 +5,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.platform.common.tool.ClassTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; -import cn.estsh.i3plus.pojo.base.annotation.RefPojo; +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; From fc9c10f38b327dcf967d1ac2ae8ad5d28fec63ce Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 28 Jan 2019 19:59:22 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AE=8C=E6=88=90=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=89=AD=E8=BD=AC=E5=8A=9F=E8=83=BD=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/core/apiservice/controller/report/CoreReportController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index 4fd5198..13eba72 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -89,7 +89,6 @@ public class CoreReportController { } } - @GetMapping(value="/clz-model/list") @ApiOperation(value="查询管理后台所有类",notes = "根据核心包路径列出所有类") public BaseResultBean listClzModel() { @@ -148,7 +147,6 @@ public class CoreReportController { .setResultList(fieldModelList); } - private ClassModel getClassModel(String clzName){ try { //注册类 From d8416136f8a35281449748bcab3e7ee7b0caa3b1 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Fri, 1 Feb 2019 10:53:22 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=94=9F=E6=88=90HTML=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/core/apiservice/controller/report/CoreReportController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index 13eba72..e6da766 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -81,7 +81,6 @@ public class CoreReportController { try { List list = reportService.selectTemplateModel(model); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultObject(model) .setResultList(list); }catch (Exception e){ return ResultBean.fail("操作失败").setMsg(e.getMessage()).setErrorMsg(e.getLocalizedMessage() From 03c12698674535f6993babada42451ebf2a3a458 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Fri, 1 Feb 2019 15:55:21 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E6=A8=A1=E6=9D=BFPojo=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20=E6=A8=A1=E6=9D=BF=20=E6=9E=9A=E4=B8=BE=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E6=B7=BB=E5=8A=A0=E6=9E=9A=E4=B8=BE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/busi/PersonnelController.java | 40 +++++++++++++++++----- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index f99dfbc..c788cef 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -137,6 +137,8 @@ public class PersonnelController extends CoreBaseController { personnelService.checkSysUserPassword(model.getUserLoginPassword()); personnelService.checkSysUserOnly(user); + SysUserInfo userInfo = personnelService.getSysUserInfoById(info.getId()); + SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId())); if(infoDepartment == null){ ValidatorBean.checkNotNull(infoDepartment,"用户主部门不存在"); @@ -153,13 +155,35 @@ public class PersonnelController extends CoreBaseController { } SysOrganize userOrganize = personnelService.getSysOrganizeById(userDepartment.getOrganizeId()); - info.setDepartmentId(infoDepartment.getId()); - info.setDepartmentNameRdd(infoDepartment.getName()); - info.setOrganizeId(infoOrganize.getId()); - info.setOrganizeNameRdd(infoOrganize.getName()); - info.setOrganizeCode(infoOrganize.getOrganizeCode()); - info.setPositionId(position.getId()); - info.setPositionNameRdd(position.getName()); + userInfo.setDepartmentId(infoDepartment.getId()); + userInfo.setDepartmentNameRdd(infoDepartment.getName()); + userInfo.setOrganizeId(infoOrganize.getId()); + userInfo.setOrganizeNameRdd(infoOrganize.getName()); + userInfo.setOrganizeCode(infoOrganize.getOrganizeCode()); + userInfo.setPositionId(position.getId()); + userInfo.setPositionNameRdd(position.getName()); + userInfo.setName(info.getName()); + userInfo.setUserEmpNo(info.getUserEmpNo()); + userInfo.setUserJoinDate(info.getUserJoinDate()); + userInfo.setUserResignationDate(info.getUserResignationDate()); + userInfo.setUserCardType(info.getUserCardType()); + userInfo.setUserCardNumber(info.getUserCardNumber()); + userInfo.setUserSchool(info.getUserSchool()); + userInfo.setUserSchoolProfession(info.getUserSchoolProfession()); + userInfo.setUserSchoolLeaveDate(info.getUserSchoolLeaveDate()); + userInfo.setUserSchoolEducation(info.getUserSchoolEducation()); + userInfo.setUserSex(info.getUserSex()); + userInfo.setUserBirthplace(info.getUserBirthplace()); + userInfo.setUserRace(info.getUserRace()); + userInfo.setUserMarriage(info.getUserMarriage()); + userInfo.setUserEmergencyContact(info.getUserEmergencyContact()); + userInfo.setUserEmergencyPhone(info.getUserEmergencyPhone()); + userInfo.setUserFamilyAddress(info.getUserFamilyAddress()); + userInfo.setUserBornDate(info.getUserBornDate()); + userInfo.setUserHobby(info.getUserHobby()); + userInfo.setUserPoliticalStatus(info.getUserPoliticalStatus()); + userInfo.setUserGrade(info.getUserGrade()); + userInfo.setUserEmployeeType(info.getUserEmployeeType()); user.setDepartmentId(userDepartment.getId()); user.setDepartmentNameRdd(userDepartment.getName()); @@ -167,7 +191,7 @@ public class PersonnelController extends CoreBaseController { user.setOrganizeNameRdd(userOrganize.getName()); // 关系 刷新 - refreshRef(user, info, model); + refreshRef(user, userInfo, model); // 更新 密码 refreshSysUserPassword(user);