Commit 9780a4a1 by shenweidong

合并内容

parent 315aa30c
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jyzb_platform.iml" filepath="$PROJECT_DIR$/.idea/jyzb_platform.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.20" level="project" />
<orderEntry type="library" name="Maven: com.junmp.v2:junmp-v2-common:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.github.oshi:oshi-core:6.3.2" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:5.12.1" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna-platform:5.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.4" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.6.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.fastjson2:fastjson2:2.0.27" level="project" />
<orderEntry type="library" name="Maven: com.github.whvcse:easy-captcha:1.6.2" level="project" />
<orderEntry type="library" name="Maven: com.junmp.v2:v2-validator-api:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.junmp.v2:v2-db-api:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.junmp.v2:v2-config-api:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.10" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.7" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.31" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.4.31" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.4.31" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains:annotations:13.0" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.31" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.5" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.4" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.1.7.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.22" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
</component>
</module>
\ No newline at end of file
package com.junmp.jyzb.config.mqtt;
/**
* MQTT 客户端连接的基本配置,配置信息见 application.yml
* Create By Spring-2022/10/29
*/
//@Configuration
//@ConfigurationProperties(prefix = "com.mqtt")
public class MqttConfiguration {
// private String url;
// private String clientId;
// private String topics;
// private String username;
// private String password;
// private String timeout;
// private String keepalive;
//
// public String getUrl() {
// return url;
// }
//
// public void setUrl(String url) {
// this.url = url;
// }
//
// public String getClientId() {
// return clientId;
// }
//
// public void setClientId(String clientId) {
// this.clientId = clientId;
// }
//
// public String getTopics() {
// return topics;
// }
//
// public void setTopics(String topics) {
// this.topics = topics;
// }
//
// public String getUsername() {
// return username;
// }
//
// public void setUsername(String username) {
// this.username = username;
// }
//
// public String getPassword() {
// return password;
// }
//
// public void setPassword(String password) {
// this.password = password;
// }
//
// public String getTimeout() {
// return timeout;
// }
//
// public void setTimeout(String timeout) {
// this.timeout = timeout;
// }
//
// public String getKeepalive() {
// return keepalive;
// }
//
// public void setKeepalive(String keepalive) {
// this.keepalive = keepalive;
// }
}
package com.junmp.jyzb.config.mqtt;
/**
* 实现了对 inboundtopic 中的主题监听,当有消息推送到 inboundtopic 主题上时可以接受
* MQTT 消费端
* Create By Spring-2022/10/29
*/
//@Configuration
//@IntegrationComponentScan
public class MqttInboundConfiguration {
// private static Logger LOGGER = LoggerFactory.getLogger(MqttInboundConfiguration.class);
//
// @Autowired
// private MqttConfiguration mqttProperties;
//
// @Bean
// public MessageChannel mqttInputChannel() {
// return new DirectChannel();
// }
//
// @Bean
// public MqttPahoClientFactory mqttInClient() {
// DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
// String[] mqttServerUrls = mqttProperties.getUrl().split(",");
// MqttConnectOptions options = new MqttConnectOptions();
// options.setServerURIs(mqttServerUrls);
//
// options.setUserName(mqttProperties.getUsername());
// options.setPassword(mqttProperties.getPassword().toCharArray());
// options.setKeepAliveInterval(2);
//
// //接受离线消息
// options.setCleanSession(false);
// factory.setConnectionOptions(options);
//
// return factory;
// }
//
// // 配置Client,监听Topic
// // 如果我要配置多个client,应该怎么处理呢?这个也简单, 模仿此方法,多写几个client
// @Bean
// public MessageProducer inbound() {
// String[] inboundTopics = mqttProperties.getTopics().split(",");
// MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter(mqttProperties.getClientId() + "_inbound",
// mqttInClient(), inboundTopics);
//// adapter.addTopic(); // 添加 TOPICS
// adapter.setCompletionTimeout(1000 * 5);
// adapter.setQos(0);
// adapter.setConverter(new DefaultPahoMessageConverter());
// adapter.setOutputChannel(mqttInputChannel());
// return adapter;
// }
//
// // 通过通道获取数据,即处理 MQTT 发送过来的消息,可以通过 MQTTX 工具发送数据测试
// @Bean
// @ServiceActivator(inputChannel = "mqttInputChannel") // 异步处理
// public MessageHandler handler() {
// return new MessageHandler() {
// @Override
// public void handleMessage(Message<?> message) throws MessagingException {
// Object payload = message.getPayload();
// MessageHeaders messageHeaders = message.getHeaders();
// UUID packetId = messageHeaders.getId();
// Object qos = messageHeaders.get(MqttHeaders.QOS);
// Object recvTopic = messageHeaders.get(MqttHeaders.RECEIVED_TOPIC);
// String handMessage = "MQTT Client " + "packetId ===>" + packetId
// + "\nReceive payLoad ===> " + payload
// + " \tQOS ===> " + qos
// + "\n Topics: " + recvTopic;
// LOGGER.debug(handMessage);
// System.out.println(handMessage);
// }
// };
// }
}
package com.junmp.jyzb.config.mqtt;
/**
* MQTT 生产端
* Create By Spring-2022/10/29
*/
//@Configuration
public class MqttOutboundConfiguration {
// @Autowired
// private MqttConfiguration mqttProperties;
//
// @Bean
// public MessageChannel mqttOutboundChannelIOT() {
// return new DirectChannel();
// }
//
// @Bean
// public MessageChannel mqttOutboundChannelHome() {
// return new DirectChannel();
// }
//
// /**
// * 建立MQTT连接,配置连接的参数选项
// *
// * @return
// */
// @Bean
// public MqttPahoClientFactory mqttOutClient() {
// DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
// String[] mqttServerUrls = mqttProperties.getUrl().split(",");
// MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
// mqttConnectOptions.setServerURIs(mqttServerUrls);
// mqttConnectOptions.setUserName(mqttConnectOptions.getUserName());
// mqttConnectOptions.setPassword(mqttProperties.getPassword().toCharArray());
// // 接收离线消息
// mqttConnectOptions.setCleanSession(false); //告诉代理客户端是否要建立持久会话 false为建立持久会话
// factory.setConnectionOptions(mqttConnectOptions);
//
// return factory;
// }
//
// @Bean
// @ServiceActivator(inputChannel = "mqttOutboundChannelIOT")
// public MessageHandler mqttOutboundIOT() {
// MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler(mqttProperties.getClientId() + "_outbound_iot",
// mqttOutClient());
// messageHandler.setDefaultTopic("iot/deviceId/+/sensorTag/+/#"); // 支持主题表达式
// messageHandler.setAsync(true);
// return messageHandler;
// }
//
// @Bean
// @ServiceActivator(inputChannel = "mqttOutboundChannelHome") //来自于上面的 @Bean对象
// public MessageHandler mqttOutboundHome() {
// MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler(mqttProperties.getClientId() + "_outbound_home",
// mqttOutClient());
// messageHandler.setDefaultTopic("home/#"); // 支持主题表达式
// messageHandler.setAsync(true);
// return messageHandler;
// }
}
......@@ -48,7 +48,7 @@ public class EquipmentSizeController {
}
@PostMapping("/ShowSize")
@ApiOperation("查询号型列表") //根据组织机构id查询
@ApiOperation("根据装备类型查询号型")
public ResponseResult getAllSize(@RequestBody Map<String, Object> msg){
ResponseResult returnMsg = equipmentSizeService.getAllSize(msg);
return returnMsg;
......@@ -67,4 +67,11 @@ public class EquipmentSizeController {
ResponseResult returnMsg = equipmentSizeService.changeSizeState(msg);
return returnMsg;
}
@PostMapping("/GetSizeDevelop")
@ApiOperation("获取号型表所有信息(非树表)")
public ResponseResult getSizeDevelop() {
ResponseResult returnMsg = equipmentSizeService.getSizeDevelop();
return returnMsg;
}
}
......@@ -49,16 +49,22 @@ public class EquipmentTypeController {
}
@PostMapping("/ShowEquipmentList")
@ApiOperation("查询物资列表")
@ApiOperation("查询类别列表")
public ResponseResult ShowEquipmentList() {
List<Map<String, Object>> equipmentList = equipmentTypeService.getEquipmentList();
ResponseResult returnMsg = equipmentTypeService.getEquipmentList();
return returnMsg;
}
@PostMapping("/ShowAllEquipment")
@ApiOperation("查询整颗物资树")
public ResponseResult showAllEquipment() {
List<Map<String, Object>> equipmentList = equipmentTypeService.showAllEquipment();
return new ResponseResult(HttpStatus.SUCCESS,"操作成功",equipmentList);
}
@PostMapping("/GetEquipmentDetail")
@ApiOperation("查询单个物资信息")
public ResponseResult getOneEquipment(@RequestBody Map<String, Object> msg) {
//String warehouseId = msg.get("").toString();
ResponseResult returnMsg = equipmentTypeService.getOneEquipment(msg);
return returnMsg;
}
......@@ -69,4 +75,25 @@ public class EquipmentTypeController {
ResponseResult responseMsg = equipmentTypeService.updateEquipment(msg);
return responseMsg;
}
@PostMapping("/ShowEquipmentChildren")
@ApiOperation("根据类别查询装备")
public ResponseResult showEquipmentChildren(@RequestBody Map<String,Object> msg) {
ResponseResult responseMsg = equipmentTypeService.showEquipmentChildren(msg);
return responseMsg;
}
@PostMapping("/SetTypeParentIds")
@ApiOperation("填充装备类型的parent_ids字段")
public ResponseResult setTypeParentIds() {
ResponseResult returnMsg = equipmentTypeService.setTypeParentIds();
return returnMsg;
}
@PostMapping("/GetEquipmentDevelop")
@ApiOperation("获取装备表所有信息(非树表)")
public ResponseResult getEquipmentDevelop() {
ResponseResult returnMsg = equipmentTypeService.getEquipmentDevelop();
return returnMsg;
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@Slf4j
@RequestMapping("/Inventory")
@Api(tags = "库存模块")
public class InventoryController {
@Resource
public InventoryService inventoryService;
@PostMapping("/GetEquipmentInfo")
@ApiOperation("根据组织机构或者仓库查询库存信息")
public ResponseResult getEquipmentInfo(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = inventoryService.getEquipmentInfo(msg);
return returnMsg;
}
@PostMapping("/SetInventoryMsg")
@ApiOperation("填充汇总表信息")
public ResponseResult setInventoryMsg() {
ResponseResult returnMsg = inventoryService.setInventoryMsg();
return returnMsg;
}
@PostMapping("/GetInventoryList")
@ApiOperation("查询库存详细信息")
public ResponseResult getInventoryList(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = inventoryService.getInventoryList(msg);
return returnMsg;
}
@PostMapping("/UpdateInventoryNum")
@ApiOperation("手动重置库存数量信息")
public ResponseResult updateInventoryNum(@RequestBody Map<String,Object> msg){
ResponseResult returnMsg = inventoryService.updateInventoryNum(msg);
return returnMsg;
}
@PostMapping("/GetInventoryByOrgId")
@ApiOperation("查询组织机构拥有装备")
public ResponseResult getInventoryByOrgId(@RequestBody Map<String,Object> msg){
ResponseResult returnMsg = inventoryService.getInventoryByOrgId(msg);
return returnMsg;
}
@PostMapping("/GetInventoryDevelop")
@ApiOperation("获取装备明细表所有信息")
public ResponseResult getInventoryDevelop() {
ResponseResult returnMsg = inventoryService.getInventoryDevelop();
return returnMsg;
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.service.MqttGateWayService;
import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Create By Spring-2022/10/29
*/
//@Controller
//@RequestMapping(value = "/mqtt")
//@Api(value = "MqttController", tags = {"MQTT 访问控制"})
public class MqttController {
//
// @Autowired
// private MqttGateWayService gateWay;
//
// @RequestMapping(value = "/sendMqttSimple", method = RequestMethod.POST)
// @ApiOperation("向指定主题中,发送消息")
// @ResponseBody
// public ResponseResult sendMqttSimple(@RequestParam(value = "topic", required = true) @ApiParam(value = "MQTT的主题") String topic, String data) {
// try {
// gateWay.sendMessageToMqtt(data, topic);
// return new ResponseResult(99200,"操作成功",data);
// } catch (Exception e) {
//
// }
// return new ResponseResult(99500,"操作失败");
// }
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@Slf4j
@RequestMapping("/Order")
@Api(tags = "业务模块")
public class OrderController {
@Resource
public OrderService orderService;
@PostMapping("/AddOrder")
@ApiOperation("新增任务单")
public ResponseResult addOrder(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = orderService.addOrder(msg);
return returnMsg;
}
@PostMapping("/ShowOrder")
@ApiOperation("查询任务列表")
public ResponseResult showOrder(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = orderService.showOrder(msg);
return returnMsg;
}
@PostMapping("/UpdateOrder")
@ApiOperation("修改任务单")
public ResponseResult updateOrder(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg =orderService.updateOrder(msg);
return returnMsg;
}
@PostMapping("/GetOrderDetail")
@ApiOperation("根据订单id查看业务明细")
public ResponseResult getOrderDetail(@RequestBody Map<String, Object> msg){
ResponseResult returnMsg = orderService.getOrderDetail(msg);
return returnMsg;
}
}
......@@ -101,8 +101,7 @@ public class PoliceController {
@PostMapping("/ChangePoliceOrg")
@ApiOperation("警员调岗")
public ResponseResult changePoliceOrg(@RequestBody Map<String, Object> cabinetId){
//获取该组织机构下所有警员的id
//ResponseResult returnMsg =policemanService.getPoliceData(cabinetId);
return null;
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@RestController
......@@ -21,21 +19,45 @@ import java.util.Map;
@Api(tags = "组织机构模块")
public class PubOrgController {
@Resource
public PubOrgService equipmentTypeService;
public PubOrgService pubOrgService;
@PostMapping("/ShowPubOrgList")
@ApiOperation("查询物资列表_简化版")
@ApiOperation("查询组织机构列表_简化版")
public ResponseResult ShowEquipmentList(@RequestBody Map<String, Object> orgId) {
//传入当前的组织机构id,展示所有本级及下级的
ResponseResult returnMsg = equipmentTypeService.showPubOrgList(orgId);
ResponseResult returnMsg = pubOrgService.showPubOrgList(orgId);
return returnMsg;
}
@PostMapping("/ShowPubOrgListOld")
@ApiOperation("查询物资列表_完整版")
public ResponseResult showPubOrgListOld(@RequestBody Map<String, Object> orgId) {
// @PostMapping("/ShowPubOrgListOld")
// @ApiOperation("查询组织机构列表_完整版")
// public ResponseResult showPubOrgListOld(@RequestBody Map<String, Object> orgId) {
// //传入当前的组织机构id,展示所有本级及下级的
// ResponseResult returnMsg = pubOrgService.showPubOrgListOld(orgId);
// return returnMsg;
// }
@PostMapping("/SetOrgParentIds")
@ApiOperation("填充组织机构的parent_ids字段")
public ResponseResult setOrgParentIds() {
//传入当前的组织机构id,展示所有本级及下级的
ResponseResult returnMsg = pubOrgService.setOrgParentIds();
return returnMsg;
}
@PostMapping("/SetDName")
@ApiOperation("填充组织机构简称到数据库")
public ResponseResult setShortName(@RequestBody Map<String, Object> orgId) {
//传入当前的组织机构id,展示所有本级及下级的
ResponseResult returnMsg = pubOrgService.setShortName(orgId);
return returnMsg;
}
@PostMapping("/GetOrgDetail")
@ApiOperation("查询组织机构详细信息")
public ResponseResult getOrgDetail(@RequestBody Map<String, Object> msg) {
//传入当前的组织机构id,展示所有本级及下级的
ResponseResult returnMsg = equipmentTypeService.showPubOrgListOld(orgId);
ResponseResult returnMsg = pubOrgService.getOrgDetail(msg);
return returnMsg;
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.service.MsgService;
import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@Slf4j
@RequestMapping("/User")
@Api(tags = "根据表明和组织机构id获取相关信息")
public class UserController {
@Resource
public MsgService msgService;
@PostMapping("/GetMsg")
@ApiOperation("获取相关信息")
public ResponseResult getMsg(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = msgService.getMsg(msg);
return returnMsg;
}
@PostMapping("/GetUserMsg")
@ApiOperation("根据组织机构获取用户信息")
public ResponseResult getUserMsg(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = msgService.getUserMsg(msg);
return returnMsg;
}
}
......@@ -79,5 +79,11 @@ public class EquipmentType implements Serializable {
@ApiModelProperty(value = "备注")
private String note;
/**
* 类型,0类别,1装备
*/
@ApiModelProperty(value = "类型,0类别,1装备")
private Integer type;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.junmp.jyzb.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@ApiModel(value="com-junmp-jyzb-domain-BussinessOrderMain")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderMain implements Serializable {
@ApiModelProperty(value="")
private Long id;
/**
* 单据类型:入库单/出库单
*/
@ApiModelProperty(value="单据类型:入库单/出库单")
private String orderType;
/**
* 工作流ID
*/
@ApiModelProperty(value="工作流ID")
private String processId;
/**
* 单据业务类型:purchase采购/gift赠予/other其他类型
*/
@ApiModelProperty(value="单据业务类型:purchase采购/gift赠予/other其他类型")
private String bussinessType;
/**
* 订单号
*/
@ApiModelProperty(value="订单号")
private String orderCode;
/**
* 目标单位
*/
@ApiModelProperty(value="目标单位")
private String orgId;
/**
* 审批状态:0未审批/1已审批/
*/
@ApiModelProperty(value="审批状态:0未审批/1已审批/")
private String approveType;
/**
* 发物单位
*/
@ApiModelProperty(value="发物单位")
private String sendOrgId;
/**
* 发物单位名称
*/
@ApiModelProperty(value="发物单位名称")
private String sendOrgName;
/**
* 应入库数量
*/
@ApiModelProperty(value="应入库数量")
private Integer inventoryQuantity;
/**
* 实际数量
*/
@ApiModelProperty(value="实际数量")
private Integer actualQuantity;
/**
* 是否已记账 0未记账/1已记账
*/
@ApiModelProperty(value="是否已记账 0未记账/1已记账")
private Integer manualState;
/**
* 单据状态 0待入库/1已入库/2入库中
*/
@ApiModelProperty(value="单据状态 0待入库/1已入库/2入库中")
private Integer orderState;
/**
* 附件地址
*/
@ApiModelProperty(value="附件地址")
private String attachmentLocation;
/**
* 单据包含的物资集合,内容以逗号进行分割
*/
@ApiModelProperty(value="单据包含的物资集合,内容以逗号进行分割")
private String invList;
/**
* 创建时间
*/
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value="更新时间")
private Date updateTime;
/**
* 创建人员
*/
@ApiModelProperty(value="创建人员")
private String createUser;
/**
* 更新人员
*/
@ApiModelProperty(value="更新人员")
private String updateUser;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.junmp.jyzb.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* process_templates
*/
@ApiModel(value="com-junmp-jyzb-domain-ProcessTemplates")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProcessTemplates implements Serializable {
/**
* 审批摸板ID
*/
@ApiModelProperty(value="审批摸板ID")
private String templateId;
/**
* 摸板名称
*/
@ApiModelProperty(value="摸板名称")
private String templateName;
/**
* 基础设置
*/
@ApiModelProperty(value="基础设置")
private String settings;
/**
* 摸板表单
*/
@ApiModelProperty(value="摸板表单")
private String formJson;
/**
* process
*/
@ApiModelProperty(value="process")
private String processJson;
/**
* 图标
*/
@ApiModelProperty(value="图标")
private String icon;
/**
* 图标背景色
*/
@ApiModelProperty(value="图标背景色")
private String background;
/**
* notify
*/
@ApiModelProperty(value="notify")
private String notify;
/**
* 谁能提交
*/
@ApiModelProperty(value="谁能提交")
private String whoCommit;
/**
* 谁能编辑
*/
@ApiModelProperty(value="谁能编辑")
private String whoEdit;
/**
* 谁能导出数据
*/
@ApiModelProperty(value="谁能导出数据")
private String whoExport;
/**
* remark
*/
@ApiModelProperty(value="remark")
private String remark;
/**
* 冗余分组id
*/
@ApiModelProperty(value="冗余分组id")
private Integer groupId;
/**
* 是否已停用
*/
@ApiModelProperty(value="是否已停用")
private Byte isStop;
/**
* 创建时间
*/
@ApiModelProperty(value="创建时间")
private Date created;
/**
* 更新时间
*/
@ApiModelProperty(value="更新时间")
private Date updated;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -9,123 +9,138 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 组织机构信息
*/
* 组织机构信息
*/
@ApiModel(value="com-junmp-jyzb-domain-PubOrg")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PubOrg implements Serializable {
/**
* 主键
*/
* 主键
*/
@ApiModelProperty(value="主键")
private Long orgId;
/**
* 父id,一级节点父id是0
*/
* 父id,一级节点父id是0
*/
@ApiModelProperty(value="父id,一级节点父id是0")
private Long orgParentId;
/**
* 父ids
*/
* 父ids
*/
@ApiModelProperty(value="父ids")
private String orgParentIds;
/**
* 组织编码
*/
* 组织编码
*/
@ApiModelProperty(value="组织编码")
private String orgCode;
/**
* 组织名称
*/
* 组织名称
*/
@ApiModelProperty(value="组织名称")
private String orgName;
/**
* 机构类型100企业,101:机构
*/
*
*/
@ApiModelProperty(value="")
private String areaName;
/**
*
*/
@ApiModelProperty(value="")
private String dName;
/**
* 机构类型100企业,101:机构
*/
@ApiModelProperty(value="机构类型100企业,101:机构")
private Short orgType;
/**
* 排序
*/
* 排序
*/
@ApiModelProperty(value="排序")
private Byte sortVal;
/**
* 状态:1-启用,2-禁用
*/
* 状态:1-启用,2-禁用
*/
@ApiModelProperty(value="状态:1-启用,2-禁用")
private Byte statusFlag;
/**
* 描述
*/
* 描述
*/
@ApiModelProperty(value="描述")
private String remark;
/**
* 删除标记:Y-已删除,N-未删除
*/
* 删除标记:Y-已删除,N-未删除
*/
@ApiModelProperty(value="删除标记:Y-已删除,N-未删除")
private Short delFlag;
/**
* 机构全称
*/
* 机构全称
*/
@ApiModelProperty(value="机构全称")
private String orgFullName;
/**
* 地址
*/
* 地址
*/
@ApiModelProperty(value="地址")
private String address;
/**
* 联系人
*/
* 联系人
*/
@ApiModelProperty(value="联系人")
private String contact;
/**
* 电话
*/
* 电话
*/
@ApiModelProperty(value="电话")
private String phone;
/**
* 创建时间
*/
* 创建时间
*/
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
* 创建人
*/
* 创建人
*/
@ApiModelProperty(value="创建人")
private Long createUser;
/**
* 更新时间
*/
* 更新时间
*/
@ApiModelProperty(value="更新时间")
private Date updateTime;
/**
* 更新人
*/
* 更新人
*/
@ApiModelProperty(value="更新人")
private Long updateUser;
@ApiModelProperty(value="")
private String guid;
@ApiModelProperty(value="")
private String findCode;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -14,62 +14,62 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class Shelf implements Serializable {
/**
* 货架id
*/
* 货架id
*/
@ApiModelProperty(value="货架id")
private String shelfId;
/**
* 货架名称
*/
* 货架名称
*/
@ApiModelProperty(value="货架名称")
private String shelfName;
/**
* 编码
*/
* 编码
*/
@ApiModelProperty(value="编码")
private String code;
/**
* 货架类型Normal:普通货架Smart:智能货架
*/
* 货架类型Normal:普通货架Smart:智能货架
*/
@ApiModelProperty(value="货架类型Normal:普通货架Smart:智能货架")
private String type;
/**
* 仓库
*/
* 仓库
*/
@ApiModelProperty(value="仓库")
private String warehouseId;
/**
* 货架层数
*/
* 货架层数
*/
@ApiModelProperty(value="货架层数")
private Integer shelfRows;
/**
* 单层货架列数
*/
* 单层货架列数
*/
@ApiModelProperty(value="单层货架列数")
private Integer shelfColumns;
/**
* 货架排数(智能货架多货架拼接)
*/
* 货架排数(智能货架多货架拼接)
*/
@ApiModelProperty(value="货架排数(智能货架多货架拼接)")
private Integer shelfRanges;
/**
* 智能货架地址
*/
* 智能货架地址
*/
@ApiModelProperty(value="智能货架地址")
private String url;
/**
* 型号
*/
* 型号
*/
@ApiModelProperty(value="型号")
private String sizeInfo;
......
......@@ -3,6 +3,7 @@ package com.junmp.jyzb.mapper;
import com.junmp.jyzb.domain.Cabinet;
import com.junmp.jyzb.domain.Policeman;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -31,4 +32,14 @@ public interface CabinetMapper {
List<String> getAllCabinetIdByHighest();
String getCabinetNumById(String id);
List<Map<String, Object>> getAllCabinetByOrgList(List<String> allOrgId);
void setCabinetSumInventory(@Param("updateId") String id);
void setCabinetInSumInventory(@Param("updateId") String id);
void setCabinetOutSumInventory(@Param("updateId") String id);
void setCabinetPriceInventory(@Param("updateId") String id);
}
\ No newline at end of file
......@@ -24,5 +24,7 @@ public interface EquipmentSizeMapper {
List<String> getSizeByCode(String code);
String getCodeById(String id);
//String getCodeById(String id);
List<Map<String, Object>> getSizeDevelop();
}
\ No newline at end of file
......@@ -45,4 +45,12 @@ public interface EquipmentTypeMapper {
List<Map<String, Object>> getSupplierByTypeId(EquipmentType equipment);
List<String> getLowestTypeId();
List<Map<String, Object>> getChildByParentId(String equipmentId);
void wipeParentIdsData();
void setTypeParentIds();
List<Map<String, Object>> getEquipmentDevelop();
}
\ No newline at end of file
package com.junmp.jyzb.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface InventoryMapper {
Map<String, Object> getSum(String queryType, String typeId);
Map<String, Object> getOrgNum(String typeId);
List<Map<String, Object>> getLocationInventory(@Param("queryType")String queryType, @Param("idMsg")String idMsg);
void deleteAllMsg();
void setOrgInventory();
void setCabinetInventory();
void setWarehouseInventory();
List<Map<String, Object>> getInventoryList(@Param("queryType")String queryType,@Param("typeCode") String typeCode,@Param("typeId") String typeId,@Param("sizeId") String sizeId);
List<Map<String, Object>> getInventoryByOrgId(String orgId);
}
\ No newline at end of file
package com.junmp.jyzb.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface MsgMapper {
List<Map<String, Object>> getMsg(@Param("orgId") String orgId,@Param("tableName") String tableName);
List<Map<String, Object>> getUserMsg(String orgId);
}
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.domain.OrderMain;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface OrderMainMapper {
Long addOrder(OrderMain order);
List<Map<String, Object>> showOrder(String orgId);
Map<String, Object> getOrderDetail(String id);
void updateOrder(OrderMain order);
}
\ No newline at end of file
......@@ -39,4 +39,8 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
List<String> getAllPoliceIdByHighest();
String getPoliceCodeById(String id);
List<Map<String, Object>> getAllPolicemanByOrg(String orgId);
List<Map<String, Object>> getAllPolicemanByOrgList(List<String> orgId);
}
\ No newline at end of file
......@@ -2,12 +2,24 @@ package com.junmp.jyzb.mapper;
import com.junmp.jyzb.domain.PubOrg;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface PubOrgMapper {
List<PubOrg> selectAllOrg();
Long getOnePubOrg(String orgId);
void setMsg(@Param("id") Long id,@Param("orgName") String orgName);
void setOrgParentIds();
void wipeParentIdsData();
Map<String, Object> getOrgDetail(String orgId);
String getParentOrgName(Long orgParentId);
}
\ No newline at end of file
......@@ -15,7 +15,7 @@ public interface SupplierMapper {
// Map<String, Object> getOneSupplier(String id,Object SelectName,Object SelectCode);
Map<String, Object> getOneSupplier(@Param("id") String id, @Param("SelectName") Object SelectName, @Param("SelectCode") Object SelectCode);
Map<String, Object> getOneSupplier(@Param("code") String code, @Param("SelectName") Object SelectName, @Param("SelectCode") Object SelectCode);
//Map<String, Object> getOneSupplier(@Param("id") String id);
void deleteSupplier(String id);
......@@ -26,5 +26,5 @@ public interface SupplierMapper {
void changeSupplierState(Supplier supplier);
List<Map<String, Object>> getAllSupplier();
List<Map<String, Object>> getAllSupplier(@Param("name") String name, @Param("shortName") String shortName);
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.junmp.jyzb.mapper;
import com.junmp.jyzb.domain.Policeman;
import com.junmp.jyzb.domain.Warehouse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -25,4 +26,14 @@ public interface WarehouseMapper {
List<String> getAllWarehouseIdByHighest();
List<Map<String, Object>> getAllWarehouse();
List<Map<String, Object>> getAllWarehouseByOrgList(List<String> allOrgId);
void setWarehouseSumInventory(@Param("updateId") String id);
void setWarehouseInSumInventory(@Param("updateId") String id);
void setWarehouseOutSumInventory(@Param("updateId") String id);
void setWarehousePriceInventory(@Param("updateId") String id);
}
\ No newline at end of file
......@@ -24,4 +24,6 @@ public interface CabinetService{
ResponseResult getAllCabinet(Map<String, Object> msg);
ResponseResult getCabinetDetail(Map<String, Object> msg);
ResponseResult setCabinetInventory(Map<String, Object> msg);
}
......@@ -19,4 +19,6 @@ public interface EquipmentSizeService{
ResponseResult changeSizeState(Map<String, Object> msg);
ResponseResult getAllSize(Map<String, Object> msg);
ResponseResult getSizeDevelop();
}
......@@ -17,7 +17,15 @@ public interface EquipmentTypeService{
ResponseResult changeEquipmentState(Map<String, Object> msg);
List<Map<String, Object>> getEquipmentList();
ResponseResult getEquipmentList();
ResponseResult getOneEquipment(Map<String, Object> msg);
ResponseResult showEquipmentChildren(Map<String, Object> msg);
ResponseResult setTypeParentIds();
List<Map<String, Object>> showAllEquipment();
ResponseResult getEquipmentDevelop();
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.utils.ResponseResult;
import java.util.Map;
public interface InventoryService{
ResponseResult getEquipmentInfo(Map<String, Object> msg);
ResponseResult setInventoryMsg();
ResponseResult updateInventoryNum(Map<String, Object> msg);
ResponseResult getInventoryList(Map<String, Object> msg);
ResponseResult getInventoryByOrgId(Map<String, Object> msg);
ResponseResult getInventoryDevelop();
}
package com.junmp.jyzb.service;
//import org.springframework.integration.annotation.MessagingGateway;
//import org.springframework.integration.mqtt.support.MqttHeaders;
//import org.springframework.messaging.handler.annotation.Header;
//import org.springframework.stereotype.Service;
/**
* Create By Spring-2022/10/29
*/
//@Service
//@MessagingGateway(defaultRequestChannel = "mqttOutboundChannelIOT")
public interface MqttGateWayService {
// void sendMessageToMqtt(String data);
//
// // The topic name MUST NOT contain any wildcard characters (#+)
// void sendMessageToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic);
//
// void sendMessageToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic, @Header(MqttHeaders.QOS) int qos);
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.utils.ResponseResult;
import java.util.Map;
public interface MsgService {
ResponseResult getMsg(Map<String, Object> msg);
ResponseResult getUserMsg(Map<String, Object> msg);
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.utils.ResponseResult;
import java.util.Map;
public interface OrderService {
ResponseResult addOrder(Map<String, Object> msg);
ResponseResult showOrder(Map<String, Object> msg);
ResponseResult updateOrder(Map<String, Object> msg);
ResponseResult getOrderDetail(Map<String, Object> msg);
}
......@@ -10,4 +10,12 @@ public interface PubOrgService{
ResponseResult showPubOrgList(Map<String, Object> orgId);
ResponseResult showPubOrgListOld(Map<String, Object> orgId);
ResponseResult setShortName(Map<String, Object> orgId);
List<String> getLowerOrg(String orgId);
ResponseResult setOrgParentIds();
ResponseResult getOrgDetail(Map<String, Object> orgId);
}
......@@ -39,4 +39,6 @@ public interface WarehouseService{
ResponseResult deleteShelf(Map<String, Object> msg);
ResponseResult getShelfList(Map<String, Object> msg);
ResponseResult setWarehouseInventory(Map<String, Object> msg);
}
......@@ -2,10 +2,12 @@ package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.domain.Cabinet;
import com.junmp.jyzb.domain.CabinetBox;
import com.junmp.jyzb.domain.PubOrg;
import com.junmp.jyzb.mapper.CabinetBoxMapper;
import com.junmp.jyzb.mapper.PolicemanMapper;
import com.junmp.jyzb.mapper.PubOrgMapper;
import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.utils.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -33,6 +35,9 @@ public class CabinetServiceImpl implements CabinetService {
@Resource
private PubOrgMapper pubOrgMapper;
@Resource
private PubOrgService pubOrgService;
private static final String REDIS_CABINET = "Cabinet_";
@Override
......@@ -236,42 +241,98 @@ public class CabinetServiceImpl implements CabinetService {
}
List<Map<String, Object>> allCabinet=new ArrayList<>();
// 构建 Redis 缓存键
String redisKey = REDIS_CABINET + msg.get("IncludeLowerLevel").toString() +'_'+ msg.get("orgId").toString();
// 从 Redis 中获取数据
List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
if (cachedData != null) {
//将Long类型的数据转化为Date
// for (Map<String,Object> one:cachedData){
// Long dataMsg = (Long) one.get("updateTime");
// one.put("updateTime", redisUtils.getDate(dataMsg));
// allCabinet.add(one);
// }
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,cachedData);
}
// // 构建 Redis 缓存键
// String redisKey = REDIS_CABINET;
// // 从 Redis 中获取数据
// List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
// List<Map<String, Object>> cabinetList = new ArrayList<>();
// if (cachedData != null) {
// cabinetList = cachedData;
// }else {
// cabinetList = cabinetMapper.getAllCabinet();
// redisUtils.set(redisKey, cabinetList);
// }
// // 构建 Redis 缓存键
// String redisKey = REDIS_CABINET + msg.get("IncludeLowerLevel").toString() +'_'+ msg.get("orgId").toString();
// // 从 Redis 中获取数据
// List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
// if (cachedData != null) {
// //将Long类型的数据转化为Date
//// for (Map<String,Object> one:cachedData){
//// Long dataMsg = (Long) one.get("updateTime");
//// one.put("updateTime", redisUtils.getDate(dataMsg));
//// allCabinet.add(one);
//// }
// return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,cachedData);
// }
//如果组织机构是浙江省公安厅
if (msg.get("orgId").toString().equals("1369509498032808905") && msg.get("IncludeLowerLevel").toString().equals("true")){
allCabinet = cabinetMapper.getAllCabinet();
//将查询结果存入 Redis 中
redisUtils.set(redisKey, allCabinet);
//redisUtils.set(redisKey, allCabinet);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allCabinet);
}
//获取该组织机构下所有仓库的id
//String orgId = msg.get("orgId").toString();
List<String> allCabinetId =getAllCabinetId(msg);
for (String cabinetId :allCabinetId){
Map<String, Object> cabinetMsg = cabinetMapper.getOneCabinet(cabinetId);
if (!cabinetMsg.isEmpty()){
allCabinet.add(cabinetMsg);
}
List<String> allOrgId =getAllOrgId(msg);
if (allOrgId.isEmpty()){
return new ResponseResult(HttpStatus.ERROR,ReturnMsg.ERROR,"未查询到相关信息");
}
allCabinet = getAllCabinetByOrg(msg,allOrgId);
//List<Map<String, Object>> selectedCabinets = new ArrayList<>(); // 存放匹配到的柜子信息的列表
// 遍历allOrgId
// for (String orgId : allOrgId) {
// // 遍历allCabinet中的每个柜子信息
// for (Map<String, Object> cabinet : cabinetList) {
// // 检查柜子信息中的orgId是否与当前遍历的orgId匹配
// if (cabinet.containsKey("orgId") && cabinet.get("orgId").equals(orgId)) {
// // 匹配到了柜子信息,将其添加到selectedCabinets中
// selectedCabinets.add(cabinet);
// }
// }
// }
// String orgId = msg.get("orgId").toString();
// List<String> allCabinetId =getAllCabinetId(msg);
// for (String cabinetId :allCabinetId){
// Map<String, Object> cabinetMsg = cabinetMapper.getOneCabinet(cabinetId);
// if (cabinetMsg!=null){
// allCabinet.add(cabinetMsg);
// }
// }
//
//将查询结果存入 Redis 中
redisUtils.set(redisKey, allCabinet);
//redisUtils.set(redisKey, allCabinet);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allCabinet);
}
private List<String> getAllOrgId(Map<String, Object> msg) {
List<String> allOrg = new ArrayList<>();
if (msg.get("IncludeLowerLevel").equals("false")){
allOrg.add((String) msg.get("orgId"));
}else if(msg.get("IncludeLowerLevel").equals("true")){
//查询某组织机构的本级及下级
allOrg = pubOrgService.getLowerOrg(msg.get("orgId").toString());
}
return allOrg;
}
private List<Map<String, Object>> getAllCabinetByOrg(Map<String, Object> msg, List<String> allOrgId) {
List<Map<String, Object>> allCabinet = new ArrayList<>();
System.out.println(allOrgId);
allCabinet = cabinetMapper.getAllCabinetByOrgList(allOrgId);
return allCabinet;
}
@Override
public List<String> getAllCabinetId(Map<String, Object> msg) {
//如果组织机构是最高级的,获取所有id
......@@ -330,4 +391,22 @@ public class CabinetServiceImpl implements CabinetService {
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,cabinetMsg);
}
public ResponseResult setCabinetInventory(Map<String, Object> msg) {
String id;
if (msg.containsKey("locationId") && msg.get("locationId")!=""){
id = msg.get("locationId").toString();
}else {
id = null;
}
//统计仓库 装备总数
cabinetMapper.setCabinetSumInventory(id);
//统计仓库 装备在库总数
cabinetMapper.setCabinetInSumInventory(id);
//统计仓库 装备出库总数
cabinetMapper.setCabinetOutSumInventory(id);
//统计仓库 装备出库总数
cabinetMapper.setCabinetPriceInventory(id);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
}
}
......@@ -166,6 +166,12 @@ public class EquipmentSizeServiceImpl implements EquipmentSizeService {
@Override
public ResponseResult getAllSize(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("typeId"), "typeId不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
List<Map<String, Object>> allSize=new ArrayList<>();
List<String> allSizeId =getAllSizeId(msg);
for (String sizeId :allSizeId){
......@@ -174,4 +180,10 @@ public class EquipmentSizeServiceImpl implements EquipmentSizeService {
}
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allSize);
}
@Override
public ResponseResult getSizeDevelop() {
List<Map<String,Object>> returnMsg = equipmentSizeMapper.getSizeDevelop();
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,returnMsg);
}
}
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.service.MqttGateWayService;
import org.springframework.stereotype.Service;
//@Service
public class MqttGateWayServiceImpl implements MqttGateWayService {
// @Override
// public void sendMessageToMqtt(String data) {
//
// }
//
// @Override
// public void sendMessageToMqtt(String data, String topic) {
//
// }
//
// @Override
// public void sendMessageToMqtt(String data, String topic, int qos) {
//
// }
}
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.mapper.MsgMapper;
import com.junmp.jyzb.service.MsgService;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class MsgServiceImpl implements MsgService {
@Resource
private MsgMapper msgMapper;
@Override
public ResponseResult getMsg(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("tableName"), "tableName不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
String orgId = msg.get("orgId").toString();
String tableName = msg.get("tableName").toString();
List<Map<String,Object>> returnMsg = msgMapper.getMsg(orgId,tableName);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,returnMsg);
}
@Override
public ResponseResult getUserMsg(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orgId"), "orgId不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
String orgId = msg.get("orgId").toString();
List<Map<String,Object>> returnMsg = msgMapper.getUserMsg(orgId);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,returnMsg);
}
}
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.domain.OrderMain;
import com.junmp.jyzb.mapper.OrderMainMapper;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class OrderServiceImpl implements OrderService {
@Resource
private OrderMainMapper orderMapper;
@Override
public ResponseResult addOrder(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orderType"), "orderType不能为空");
checkNotBlank(msg.get("processId"), "processId不能为空");
checkNotBlank(msg.get("bussinessType"), "bussinessType不能为空");
checkNotBlank(msg.get("orderCode"), "orderCode不能为空");
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("inventoryQuantity"), "inventoryQuantity不能为空");
checkNotBlank(msg.get("manualState"), "manualState不能为空");
checkNotBlank(msg.get("orderState"), "orderState不能为空");
checkNotBlank(msg.get("attachmentLocation"), "attachmentLocation不能为空");
checkNotBlank(msg.get("invList"), "invList不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
OrderMain order = new OrderMain();
//生成当前时间
Date currentDate = DateTimeUtil.getCurrentDateTime();
order.setCreateTime(currentDate);
order.setUpdateTime(currentDate);
order.setOrderType((String) msg.get("orderType"));
order.setProcessId((String) msg.get("processId"));
order.setBussinessType((String) msg.get("bussinessType"));
order.setOrderCode((String) msg.get("orderCode"));
order.setOrgId((String) msg.get("orgId"));
order.setInventoryQuantity((Integer) msg.get("inventoryQuantity"));
order.setManualState((Integer) msg.get("manualState"));
order.setOrderState((Integer) msg.get("orderState"));
order.setAttachmentLocation((String) msg.get("attachmentLocation"));
order.setInvList((String) msg.get("invList"));
Long id = orderMapper.addOrder(order);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,id);
}
@Override
public ResponseResult showOrder(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orgId"), "orgId不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
String orgId = msg.get("orgId").toString();
List<Map<String,Object>> allMsg = orderMapper.showOrder(orgId);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,allMsg);
}
@Override
public ResponseResult updateOrder(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("id"), "id不能为空");
checkNotBlank(msg.get("orderType"), "orderType不能为空");
checkNotBlank(msg.get("processId"), "processId不能为空");
checkNotBlank(msg.get("bussinessType"), "bussinessType不能为空");
checkNotBlank(msg.get("orderCode"), "orderCode不能为空");
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("inventoryQuantity"), "inventoryQuantity不能为空");
checkNotBlank(msg.get("manualState"), "manualState不能为空");
checkNotBlank(msg.get("orderState"), "orderState不能为空");
checkNotBlank(msg.get("attachmentLocation"), "attachmentLocation不能为空");
checkNotBlank(msg.get("invList"), "invList不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
OrderMain order = new OrderMain();
//生成当前时间
order.setId((Long) msg.get("id"));
Date currentDate = DateTimeUtil.getCurrentDateTime();
order.setUpdateTime(currentDate);
order.setOrderType((String) msg.get("orderType"));
order.setProcessId((String) msg.get("processId"));
order.setBussinessType((String) msg.get("bussinessType"));
order.setOrderCode((String) msg.get("orderCode"));
order.setOrgId((String) msg.get("orgId"));
order.setInventoryQuantity((Integer) msg.get("inventoryQuantity"));
order.setManualState((Integer) msg.get("manualState"));
order.setOrderState((Integer) msg.get("orderState"));
order.setAttachmentLocation((String) msg.get("attachmentLocation"));
order.setInvList((String) msg.get("invList"));
orderMapper.updateOrder(order);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
}
@Override
public ResponseResult getOrderDetail(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("id"), "id不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
String id = msg.get("id").toString();
Map<String,Object> oneMsg = orderMapper.getOrderDetail(id);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,oneMsg);
}
}
......@@ -131,52 +131,19 @@ public class SupplierServiceImpl implements SupplierService {
@Override
public ResponseResult getAllSupplier(Map<String, Object> msg) {
// Object name = msg.get("name");
// Object code = msg.get("code");
// List<Map<String, Object>> allSupplier=new ArrayList<>();
// // 构建 Redis 缓存键
// String redisKey = REDIS_SUPPLIER;
// // 从 Redis 中获取数据
// List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
// if (cachedData != null) {
// //将Long类型的数据转化为Date
// for (Map<String,Object> one:cachedData){
// Long dataMsg = (Long) one.get("updateTime");
// one.put("updateTime", redisUtils.getDate(dataMsg));
// allSupplier.add(one);
// }
// return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allSupplier);
// }
//
// List<String> allSupplierId =getAllSupplierId();
// for (String supplierId :allSupplierId){
// Map<String, Object> supplierMsg = getOneSupplier(supplierId,null,null); //入参设置为null,关闭模糊查询
// if (supplierMsg!=null){
// allSupplier.add(supplierMsg);
// }
// }
// //将查询结果存入Redis中, 不设置过期时间 , 默认为永久
// redisUtils.set(redisKey, allSupplier);
// return new ResponseResult(HttpStatus.SUCCESS,"操作成功",allSupplier);
String name="";
String shortName="";
if (msg.containsKey("name")){
name = msg.get("name").toString();
}else if (msg.containsKey("shortName")){
shortName = msg.get("shortName").toString();
}
List<Map<String, Object>> allSupplier=new ArrayList<>();
//构建 Redis 缓存键
String redisKey = REDIS_SUPPLIER;
// 从 Redis 中获取数据
List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
if (cachedData != null) {
//将Long类型的数据转化为Date
for (Map<String,Object> one:cachedData){
Long dataMsg = (Long) one.get("updateTime");
one.put("updateTime", redisUtils.getDate(dataMsg));
allSupplier.add(one);
}
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allSupplier);
}
//将查询结果存入Redis中, 不设置过期时间 , 默认为永久
allSupplier = supplierMapper.getAllSupplier();
redisUtils.set(redisKey, allSupplier);
//查询所有供应商信息,传入的参数为模糊查询的参数
allSupplier = supplierMapper.getAllSupplier(name,shortName);
return new ResponseResult(HttpStatus.SUCCESS,"操作成功",allSupplier);
}
......
......@@ -3,6 +3,7 @@ package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.domain.*;
import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.PolicemanService;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.WarehouseService;
import com.junmp.jyzb.utils.*;
import org.springframework.stereotype.Service;
......@@ -31,6 +32,9 @@ public class WarehouseServiceImpl implements WarehouseService {
private ShelfMapper shelfMapper;
@Resource
private PubOrgService pubOrgService;
@Resource
private WarehouseAreaMapper areaMapper;
private static final String REDIS_WAREHOUSE = "Warehouse_";
......@@ -202,40 +206,66 @@ public class WarehouseServiceImpl implements WarehouseService {
}
List<Map<String, Object>> allWarehouse=new ArrayList<>();
// 构建 Redis 缓存键
String redisKey = REDIS_WAREHOUSE + msg.get("IncludeLowerLevel").toString() + "_" + msg.get("orgId").toString();
// 从 Redis 中获取数据
List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
if (cachedData != null) {
//将Long类型的数据转化为Date
for (Map<String,Object> one:cachedData){
Long dataMsg = (Long) one.get("updateTime");
one.put("updateTime", redisUtils.getDate(dataMsg));
allWarehouse.add(one);
}
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
}
// // 构建 Redis 缓存键
// String redisKey = REDIS_WAREHOUSE + msg.get("IncludeLowerLevel").toString() + "_" + msg.get("orgId").toString();
// // 从 Redis 中获取数据
// List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
// if (cachedData != null) {
// //将Long类型的数据转化为Date
// for (Map<String,Object> one:cachedData){
// Long dataMsg = (Long) one.get("updateTime");
// one.put("updateTime", redisUtils.getDate(dataMsg));
// allWarehouse.add(one);
// }
// return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
// }
//如果组织机构是浙江省公安厅
if (msg.get("orgId").toString().equals("1369509498032808905") && msg.get("IncludeLowerLevel").toString().equals("true")){
allWarehouse = warehouseMapper.getAllWarehouse();
//将查询结果存入 Redis 中
redisUtils.set(redisKey, allWarehouse);
//redisUtils.set(redisKey, allWarehouse);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
}
//获取组织机构Id
List<String> allOrgId =getAllOrgId(msg);
if (allOrgId.isEmpty()){
return new ResponseResult(HttpStatus.ERROR,ReturnMsg.ERROR,"未查询到相关信息");
}
//根据获取的组织机构查询警员信息
allWarehouse = getAllWarehouseByOrg(msg,allOrgId);
//获取该组织机构下所有仓库的id
//String orgId = msg.get("orgId").toString();
List<String> allWarehouseId =getAllWarehouseId(msg);
for (String warehouseId :allWarehouseId){
Map<String, Object> warehouseMsg = warehouseMapper.getOneWarehouse(warehouseId);
allWarehouse.add(warehouseMsg);
}
// List<String> allWarehouseId =getAllWarehouseId(msg);
// for (String warehouseId :allWarehouseId){
// Map<String, Object> warehouseMsg = warehouseMapper.getOneWarehouse(warehouseId);
// allWarehouse.add(warehouseMsg);
// }
//将查询结果存入 Redis 中
redisUtils.set(redisKey, allWarehouse);
//redisUtils.set(redisKey, allWarehouse);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
}
private List<String> getAllOrgId(Map<String, Object> msg) {
List<String> allOrg = new ArrayList<>();
if (msg.get("IncludeLowerLevel").equals("false")){
allOrg.add((String) msg.get("orgId"));
}else if(msg.get("IncludeLowerLevel").equals("true")){
//查询某组织机构的本级及下级
allOrg = pubOrgService.getLowerOrg(msg.get("orgId").toString());
}
return allOrg;
}
private List<Map<String, Object>> getAllWarehouseByOrg(Map<String, Object> msg, List<String> allOrgId) {
List<Map<String, Object>> allWarehouse = new ArrayList<>();
allWarehouse = warehouseMapper.getAllWarehouseByOrgList(allOrgId);
return allWarehouse;
}
@Override
public ResponseResult addArea(Map<String, Object> msg) {
try {
......@@ -472,4 +502,23 @@ public class WarehouseServiceImpl implements WarehouseService {
redisUtils.set(redisKey, warehouseId);
return warehouseId;
}
@Override
public ResponseResult setWarehouseInventory(Map<String, Object> msg) {
String id;
if (msg.containsKey("locationId") && msg.get("locationId")!=""){
id = msg.get("locationId").toString();
}else {
id = null;
}
//统计仓库 装备总数
warehouseMapper.setWarehouseSumInventory(id);
//统计仓库 装备在库总数
warehouseMapper.setWarehouseInSumInventory(id);
//统计仓库 装备出库总数
warehouseMapper.setWarehouseOutSumInventory(id);
//统计仓库 装备出库总数
warehouseMapper.setWarehousePriceInventory(id);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
}
}
......@@ -4,7 +4,7 @@ import org.omg.CORBA.NO_PERMISSION;
/**
* 返回状态码
*
*
* @author ruoyi
*/
public class HttpStatus
......
......@@ -49,10 +49,12 @@
o.org_name as orgName,
c.location,
c.state,
c.update_time as updateTime
from pub_org o
right join base_cabinet c on c.org_id_int =o.org_id
c.update_time as updateTime,
c.sum as sum,
c.in_sum as inSum,
c.out_sum as outSum
from base_cabinet c
left join pub_org o on c.org_id_int =o.org_id
</select>
<select id="getAllCabinetId" resultType="String">
......@@ -87,4 +89,83 @@
<select id="getCabinetNumById" resultType="java.lang.String">
select cabinet_num from base_cabinet where id =#{id}
</select>
<select id="getAllCabinetByOrgList" parameterType="java.util.List" resultType="java.util.Map">
select
c.id,
c.cabinet_num as cabinetNum,
c.name,
o.org_id as orgId,
o.org_name as orgName,
c.location,
c.state,
c.update_time as updateTime,
c.sum as sum,
c.in_sum as inSum,
c.out_sum as outSum
from base_cabinet c
left join pub_org o on c.org_id_int =o.org_id
where c.org_id_int in
where c.org_id_int in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<update id="setCabinetSumInventory">
UPDATE base_cabinet AS c
SET sum = (
SELECT count(i.id)
FROM base_cabinet_box AS b
JOIN base_inventory AS i ON b.id = i.location_id
WHERE b.cabinet_id = c.id
)
<if test="updateId != null and updateId != ''">
where c.id = #{updateId}
</if>
</update>
<update id="setCabinetInSumInventory">
UPDATE base_cabinet AS c
JOIN (
SELECT b.cabinet_id, COUNT(i.id) AS total_count
FROM base_cabinet_box AS b
JOIN base_inventory AS i ON b.id = i.location_id
WHERE i.location_state = 'in'
GROUP BY b.cabinet_id
) AS subquery ON c.id = subquery.cabinet_id
SET c.in_sum = subquery.total_count
<if test="updateId != null and updateId != ''">
where c.id = #{updateId}
</if>
</update>
<update id="setCabinetOutSumInventory">
UPDATE base_cabinet AS c
SET out_sum = (
SELECT count(i.id)
FROM base_cabinet_box AS b
JOIN base_inventory AS i ON b.id = i.location_id
WHERE b.cabinet_id = c.id and i.location_state="out"
)
<if test="updateId != null and updateId != ''">
where c.id = #{updateId}
</if>
</update>
<update id="setCabinetPriceInventory">
UPDATE base_cabinet AS c
SET price_total = (
SELECT sum(price)
FROM base_cabinet_box AS b
JOIN base_inventory AS i ON b.id = i.location_id
WHERE b.cabinet_id = c.id
)
<if test="updateId != null and updateId != ''">
where c.id = #{updateId}
</if>
</update>
</mapper>
\ No newline at end of file
......@@ -64,4 +64,10 @@
<!-- <select id="getCodeById" resultType="java.lang.String">-->
<!-- select from where id =#{id}-->
<!-- </select>-->
<select id="getSizeDevelop" resultType="Map">
select
*
from base_equipment_size
</select>
</mapper>
\ No newline at end of file
......@@ -19,8 +19,9 @@
</sql>
<select id="selectAllEquipment" resultType="com.junmp.jyzb.domain.EquipmentType">
SELECT id,name,unit,unit_type,code,parent_id,state,note,code,create_time,update_time
SELECT id,name,unit,unit_type,code,parent_id,state,note,code,create_time,update_time,type
FROM base_equipment_type
where type = 0
</select>
<!-- <where>-->
<!-- <if test="SelectTypeId != null">-->
......@@ -139,4 +140,52 @@
select id
from base_equipment_type w
</select>
<select id="getChildByParentId" resultType="Map">
select
id,
name,
unit,
unit_type as unitType,
code,
parent_id as parentId,
state,
note,
create_time as createTime,
update_time as updateTime
from base_equipment_type
where parent_id = #{equipmentId}
</select>
<update id="wipeParentIdsData">
UPDATE base_equipment_type t
SET t.parent_ids = "";
</update>
<update id="setTypeParentIds" parameterType="java.util.Map">
WITH RECURSIVE cte AS (
SELECT id, parent_id, CAST(id AS CHAR(200)) AS parent_ids
FROM base_equipment_type
WHERE parent_id = "-1"
UNION ALL
SELECT o.id, o.parent_id,
CASE
WHEN FIND_IN_SET(o.parent_id, cte.parent_ids) > 0 THEN cte.parent_ids
ELSE CONCAT(cte.parent_ids, ',', o.parent_id)
END AS parent_ids
FROM base_equipment_type o
INNER JOIN cte ON o.parent_id = cte.id
)
UPDATE base_equipment_type p
JOIN cte ON p.id = cte.id
SET p.parent_ids = cte.parent_ids;
</update>
<select id="getEquipmentDevelop" resultType="Map">
select
*
from base_equipment_type
</select>
</mapper>
\ No newline at end of file
......@@ -36,4 +36,190 @@
production_date, warranty_period, maintenance_period, fix_count, price, create_time,
update_time, note
</sql>
<select id="getSum" resultType="Map">
</select>
<select id="getOrgNum" resultType="Map">
</select>
<select id="getLocationInventory" resultType="Map">
select
id,
<if test="queryType == 'org'">
org_id_int as locationId,
</if>
<if test="queryType == 'warehouse' or queryType == 'cabinet'">
location_id as locationId,
</if>
<if test="queryType == 'org'">
org_name as locationName,
</if>
<if test="queryType == 'warehouse' or queryType == 'cabinet'">
location_name as locationName,
</if>
type_id as typeId,
type_name as typeName,
size_id as sizeId,
size_name as sizeName,
number,
price,
stock_number as stockNumber,
outbound_number as outboundNumber
from base_inventory_summary
<if test="queryType == 'org'">
where org_id_int = #{idMsg}
</if>
<if test="queryType == 'warehouse' or queryType == 'cabinet'">
where location_id = #{idMsg}
</if>
</select>
<delete id="deleteAllMsg">
delete from base_inventory_summary
</delete>
<insert id="setOrgInventory">
INSERT INTO base_inventory_summary (id, org_id_int, org_name, type_id,type_name,size_id,size_name, number, price, stock_number, outbound_number)
SELECT
UUID() AS id,
bi.org_id_int,
po.org_name,
bi.type_id,
t.name,
bi.size_id,
s.name,
COUNT(*) AS number,
SUM(bi.price) AS price,
SUM(CASE WHEN bi.location_state = 'in' THEN 1 ELSE 0 END) AS stock_number,
COUNT(*) - SUM(CASE WHEN bi.location_state = 'in' THEN 1 ELSE 0 END) AS outbound_number
FROM base_inventory bi
JOIN pub_org po ON bi.org_id_int = po.org_id
join base_equipment_type t on t.id = bi.type_id
join base_equipment_size s on s.id = bi.size_id
WHERE bi.org_id_int IN (
SELECT org_id_int
FROM base_inventory
GROUP BY org_id_int, type_id
HAVING type_id IN (
SELECT type_id
FROM base_inventory
GROUP BY type_id
)
)
GROUP BY bi.org_id_int, bi.type_id, bi.size_id;
</insert>
<insert id="setCabinetInventory">
INSERT INTO base_inventory_summary (id,location_id,location_name,type_id,type_name,size_id,size_name,number, price, stock_number, outbound_number,location_type)
SELECT
UUID() as id,
bi.location_id,
bc.name as '单警柜名称',
bi.type_id,
t.name as '装备名称',
bi.size_id,
s.name as '号型名称',
count(*) as 'number',
sum(bi.price) as 'price',
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS 'stock_number',
count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS 'outbound_number',
bi.location_type
FROM base_inventory bi
join base_cabinet_box bcb on bi.location_id = bcb.id
join base_cabinet bc on bcb.cabinet_id = bc.id
join base_equipment_type t on t.id = bi.type_id
join base_equipment_size s on s.id = bi.size_id
WHERE location_id IN (
SELECT location_id
FROM base_inventory
GROUP BY location_id,type_id
having type_id in(
SELECT
type_id as '装备类型id'
FROM base_inventory b
GROUP BY type_id
)
)
and location_type = 1
GROUP BY location_id, type_id,size_id;
</insert>
<insert id="setWarehouseInventory">
INSERT INTO base_inventory_summary (id,location_id, location_name,type_id, type_name,size_id,size_name, number, price, stock_number, outbound_number,location_type)
SELECT
UUID() as id,
bi.location_id,
bw.name,
bi.type_id,
t.name,
bi.size_id,
s.name,
count(*) as 'number',
sum(bi.price) as 'price',
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS 'stock_number',
count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS 'outbound_number',
bi.location_type
FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id
join base_equipment_type t on t.id = bi.type_id
join base_equipment_size s on s.id = bi.size_id
WHERE location_id IN (
SELECT location_id
FROM base_inventory
GROUP BY location_id,type_id
having type_id in(
SELECT
type_id as '装备类型id'
FROM base_inventory b
GROUP BY type_id
)
)
and location_type = 0
GROUP BY location_id, type_id,size_id;
</insert>
<select id="getInventoryList" resultType="Map">
select
IFNULL(i.id, 'null') as id,
IFNULL(i.epc, 'null') as epc,
IFNULL(i.size_id, 'null') as sizeId,
IFNULL(es.name, 'null') as sizeName,
IFNULL(i.type_id, 'null') as typeId,
IFNULL(et.name, 'null') as typeName,
IFNULL(i.supplier_id, 'null') as supplierId,
IFNULL(s.name, 'null') as supplierName,
IFNULL(i.state, 'null') as state,
IFNULL(i.location_state, 'null') as locationState,
IFNULL(i.production_date, 'null') as productionDate,
IFNULL(i.location_type, 'null') as locationType,
IFNULL(i.location_id, 'null') as locationId,
IFNULL(i.price, 'null') as price,
IFNULL(i.shelf_id, 'null') as shelfId,
IFNULL(i.shelf_location, 'null') as shelfLocation,
IFNULL(i.bussiness_state, 'null') as bussinessState,
IFNULL(i.warranty_period, 'null') as warrantyPeriod,
IFNULL(i.maintenance_period, 'null') as maintenancePeriod,
IFNULL(i.create_time, 'null') as createTime,
IFNULL(i.update_time, 'null') as updateTime,
IFNULL(i.update_user, 'null') as updateUser,
IFNULL(i.create_user, 'null') as createUser
from base_inventory i
join base_equipment_type et on et.id = i.type_id
join base_equipment_size es on es.id = i.size_id
join base_supplier s on s.id = i.supplier_id
<if test="queryType == 'org'">
where org_id_int = #{typeCode}
</if>
<if test="queryType == 'warehouse' or queryType == 'cabinet'">
where location_id = #{typeCode}
</if>
and size_id = #{sizeId}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.MsgMapper">
<select id="getMsg" resultType="Map">
<if test="tableName != null and tableName != ''">
<![CDATA[
select *
from ]]>
${tableName}
<![CDATA[
where org_id = #{orgId}
]]>
</if>
</select>
<select id="getUserMsg" resultType="Map">
select
suo.user_org_id as userOrgId,
suo.user_id as userId,
suo.org_id as orgId,
suo.position_id as positionId,
su.real_name as realName,
su.nick_name as nickName,
su.account as account,
su.password as password,
su.avatar as avatar,
su.birthday as birthday,
su.sex as sex,
su.email as email,
su.phone as phone,
su.tel as tel,
su.super_admin_flag as superAdminFlag,
su.status_flag as statusFlag,
su.user_type as userType,
su.last_login_ip as lastLoginIp,
su.last_login_time as lastLoginTime,
su.del_flag as delFlag,
su.create_time as createTime,
su.create_user as createUser,
su.update_time as updateTime,
su.update_user as updateUser,
su.app_flag as appFlag
from sys_user_org suo
join sys_user su on suo.user_id = su.user_id
where suo.org_id = #{orgId}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.OrderMainMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.domain.OrderMain">
<!--@mbg.generated-->
<!--@Table bussiness_order_main-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="order_type" jdbcType="VARCHAR" property="orderType" />
<result column="bussiness_type" jdbcType="VARCHAR" property="bussinessType" />
<result column="order_code" jdbcType="VARCHAR" property="orderCode" />
<result column="approve_type" jdbcType="VARCHAR" property="approveType" />
<result column="send_org_id" jdbcType="VARCHAR" property="sendOrgId" />
<result column="send_org_name" jdbcType="VARCHAR" property="sendOrgName" />
<result column="inventory_quantity" jdbcType="INTEGER" property="inventoryQuantity" />
<result column="actual_quantity" jdbcType="INTEGER" property="actualQuantity" />
<result column="manual_state" jdbcType="INTEGER" property="manualState" />
<result column="order_state" jdbcType="INTEGER" property="orderState" />
<result column="attachment_location" jdbcType="VARCHAR" property="attachmentLocation" />
<result column="inv_list" jdbcType="VARCHAR" property="invList" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
<result column="update_user" jdbcType="VARCHAR" property="updateUser" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, order_type, bussiness_type, order_code, approve_type, send_org_id, send_org_name,
inventory_quantity, actual_quantity, manual_state, order_state, attachment_location,
inv_list, create_time, update_time, create_user, update_user
</sql>
<insert id="addOrder" parameterType="com.junmp.jyzb.domain.OrderMain" useGeneratedKeys="true" keyProperty="id">
insert into business_order_main
(order_type,process_id,bussiness_type,order_code,org_id,inventory_quantity,manual_state,order_state,attachment_location,inv_list,create_time,update_time)
values
(#{orderType},#{processId},#{bussinessType},#{orderCode},#{orgId},#{inventoryQuantity},#{manualState},#{orderState},#{attachmentLocation},#{invList},#{createTime},#{updateTime})
</insert>
<select id="showOrder" resultType="Map">
SELECT
id as id,
order_type as orderType,
process_id as processId,
bussiness_type as bussinessType,
order_code as orderCode,
org_id as orgId,
inventory_quantity as inventoryQuantity,
actual_quantity as actualQuantity,
manual_state as manualState,
order_state as orderState,
attachment_location as attachmentLocation,
inv_list as invList,
create_time as createTime,
update_time as updateTime
FROM business_order_main
where org_id =#{orgId}
</select>
<update id="updateOrder">
update business_order_main o
set
order_type=#{orderType},
process_id=#{processId},
bussiness_type=#{bussinessType},
order_code=#{orderCode},
org_id=#{orgId},
inventory_quantity=#{inventoryQuantity},
actual_quantity=#{actualQuantity},
manual_state=#{manualState},
order_state=#{orderState},
attachment_location=#{attachmentLocation},
inv_list=#{invList},
update_time=#{updateTime}
where o.id =#{id}
</update>
<select id="getOrderDetail" resultType="Map">
SELECT
id as id,
order_type as orderType,
process_id as processId,
bussiness_type as bussinessType,
order_code as orderCode,
org_id as orgId,
inventory_quantity as inventoryQuantity,
actual_quantity as actualQuantity,
manual_state as manualState,
order_state as orderState,
attachment_location as attachmentLocation,
inv_list as invList,
create_time as createTime,
update_time as updateTime
FROM business_order_main
WHERE id = #{id}
</select>
</mapper>
\ No newline at end of file
......@@ -44,7 +44,7 @@
c.name AS cabinetName,
p.update_time AS updateTime
FROM base_policeman p
LEFT JOIN pub_org o ON p.org_id = o.org_id
LEFT JOIN pub_org o ON p.org_id_int = o.org_id
LEFT JOIN base_cabinet c ON p.cabinet_box_id = c.id
WHERE p.id = #{id};
</select>
......@@ -64,9 +64,9 @@
p.update_time AS updateTime
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg-->
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg-->
FROM pub_org o
right JOIN base_policeman p ON p.org_id = o.org_id
right JOIN base_cabinet c ON p.cabinet_box_id = c.id
FROM base_policeman p
left JOIN pub_org o ON p.org_id_int = o.org_id
left JOIN base_cabinet c ON p.cabinet_box_id = c.id
<!-- LEFT JOIN base_police_finger f ON f.police_id = p.id-->
<!-- GROUP BY p.id, o.org_id, o.org_name, p.name, p.sex, p.phone, p.photo, p.police_code, c.id, c.name, p.update_time-->
......@@ -170,4 +170,51 @@
<select id="getPoliceCodeById" resultType="java.lang.String">
select police_code from base_policeman where id =#{id}
</select>
<select id="getAllPolicemanByOrg" resultType="Map">
SELECT
p.id AS id,
p.org_id_int AS orgId,
o.org_name AS orgName,
p.name AS name,
p.sex,
p.phone,
p.photo,
p.police_code AS policeCode,
c.id AS cabinetId,
c.name AS cabinetName,
p.update_time AS updateTime
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg-->
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg-->
FROM base_policeman p
left JOIN pub_org o ON p.org_id_int = o.org_id
left JOIN base_cabinet c ON p.cabinet_box_id = c.id
where o.org_id =#{orgId}
<!-- LEFT JOIN base_police_finger f ON f.police_id = p.id-->
<!-- GROUP BY p.id, o.org_id, o.org_name, p.name, p.sex, p.phone, p.photo, p.police_code, c.id, c.name, p.update_time-->
</select>
<select id="getAllPolicemanByOrgList" parameterType="java.util.List" resultType="java.util.Map">
SELECT
p.id AS id,
p.org_id_int AS orgId,
o.org_name AS orgName,
p.name AS name,
p.sex,
p.phone,
p.photo,
p.police_code AS policeCode,
c.id AS cabinetId,
c.name AS cabinetName,
p.update_time AS updateTime
FROM base_policeman p
LEFT JOIN pub_org o ON p.org_id_int = o.org_id
LEFT JOIN base_cabinet c ON p.cabinet_box_id = c.id
WHERE o.org_id IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
......@@ -32,8 +32,9 @@
</sql>
<select id="selectAllOrg" resultType="com.junmp.jyzb.domain.PubOrg">
SELECT org_id,org_parent_id,org_name
SELECT org_id,org_parent_id,org_name,d_name,find_code as findCode
FROM pub_org
where del_flag = 1
</select>
<select id="getOnePubOrg" resultType="Long">
......@@ -41,4 +42,61 @@
from pub_org t
where t.org_id =#{orgId}
</select>
<update id="setMsg">
update pub_org
set d_name =#{orgName}
where org_id = #{id}
</update>
<update id="wipeParentIdsData">
UPDATE pub_org t
SET t.org_parent_ids = "";
</update>
<update id="setOrgParentIds" parameterType="java.util.Map">
WITH RECURSIVE cte AS (
SELECT org_id, org_parent_id, CAST(org_id AS CHAR(200)) AS org_parent_ids
FROM pub_org
WHERE org_parent_id = -1
UNION ALL
SELECT o.org_id, o.org_parent_id,
CASE
WHEN FIND_IN_SET(o.org_parent_id, cte.org_parent_ids) > 0 THEN cte.org_parent_ids
ELSE CONCAT(cte.org_parent_ids, ',', o.org_parent_id)
END AS org_parent_ids
FROM pub_org o
INNER JOIN cte ON o.org_parent_id = cte.org_id
)
UPDATE pub_org p
JOIN cte ON p.org_id = cte.org_id
SET p.org_parent_ids = cte.org_parent_ids;
</update>
<select id="getOrgDetail" resultType="Map">
select
IFNULL(org_id,'null') as orgId,
IFNULL(org_name,'null') as orgName,
IFNULL(org_code,'null') as orgCode,
IFNULL(org_type,'null') as orgType,
IFNULL(status_flag,'null') as statusFlag,
IFNULL(remark,'null') as remark,
IFNULL(org_full_name,'null') as orgFullName,
IFNULL(find_code,'null') as findCode,
IFNULL(address,'null') as address,
IFNULL(contact,'null') as contact,
IFNULL(phone,'null') as phone,
IFNULL(create_time,'null') as createTime,
IFNULL(update_time,'null') as updateTime,
from pub_org o
where o.org_id=#{orgId}
</select>
<select id="getParentOrgName" resultType="String">
select d_name from pub_org o where org_id =#{orgParentId}
</select>
</mapper>
\ No newline at end of file
......@@ -46,7 +46,7 @@
<select id="getOneSupplier" resultType="Map">
SELECT id, name, code, short_name AS shortName, contacts, phone, update_user,state
FROM base_supplier
WHERE id = #{id}
WHERE code = #{code}
<if test="SelectName != null and SelectName != ''">
AND name LIKE CONCAT('%', #{SelectName}, '%')
</if>
......@@ -82,5 +82,15 @@
<select id="getAllSupplier" resultType="Map">
SELECT id, name, code, short_name AS shortName, contacts, phone, update_time as updateTime,state
FROM base_supplier
<if test="name != '' or shortName != ''">
WHERE
</if>
<if test="name != null and name != ''">
name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="shortName != null and shortName != ''">
<if test="name != null and name != ''">AND</if>
short_name LIKE CONCAT('%', #{shortName}, '%')
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -29,6 +29,7 @@
<select id="getOneWarehouse" resultType="Map">
select
w.id as warehouseId,
o.org_id as orgId,
o.org_name as orgName,
w.name as name,
w.state,
......@@ -74,6 +75,7 @@
<select id="getAllWarehouse" resultType="Map">
select
w.id as warehouseId,
o.org_id as orgId,
o.org_name as orgName,
w.name as name,
w.state,
......@@ -84,6 +86,78 @@
in_sum as inSum,
out_sum as outSum,
w.update_time as updateTime
from base_warehouse w LEFT JOIN pub_org o on w.org_id=o.org_id
from base_warehouse w
LEFT JOIN pub_org o on w.org_id_int=o.org_id
</select>
<select id="getAllWarehouseByOrgList" parameterType="java.util.List" resultType="java.util.Map">
select
w.id as warehouseId,
o.org_id as orgId,
o.org_name as orgName,
w.name as name,
w.state,
location,
w.phone,
is_locked as isLocked,
sum,
in_sum as inSum,
out_sum as outSum,
w.update_time as updateTime
from base_warehouse w
LEFT JOIN pub_org o on w.org_id_int=o.org_id
where w.org_id_int in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<update id="setWarehouseSumInventory">
UPDATE base_warehouse AS w
SET sum = (
SELECT count(id)
FROM base_inventory AS i
WHERE i.location_id = w.id
)
<if test="updateId != null and updateId != ''">
where w.id = #{updateId}
</if>
</update>
<update id="setWarehouseInSumInventory">
UPDATE base_warehouse AS w
SET in_sum = (
SELECT count(id)
FROM base_inventory AS i
WHERE i.location_id = w.id and i.location_state="in"
)
<if test="updateId != null and updateId != ''">
where w.id = #{updateId}
</if>
</update>
<update id="setWarehouseOutSumInventory">
UPDATE base_warehouse AS w
SET out_sum = (
SELECT count(id)
FROM base_inventory AS i
WHERE i.location_id = w.id and i.location_state="out"
)
<if test="updateId != null and updateId != ''">
where w.id = #{updateId}
</if>
</update>
<update id="setWarehousePriceInventory">
UPDATE base_warehouse AS w
SET price_total = (
SELECT sum(price)
FROM base_inventory AS i
WHERE i.location_id = w.id
)
<if test="updateId != null and updateId != ''">
where w.id = #{updateId}
</if>
</update>
</mapper>
\ No newline at end of file
......@@ -94,7 +94,19 @@
<artifactId>jyzb-process</artifactId>
</dependency>
<!--MQTT-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -85,3 +85,13 @@ flowable:
enabled: false
eventregistry:
enabled: false
com:
mqtt:
url: tcp://broker.emqx.io:1883 #这里要写 tcp:// 不能是 mqtt,不然不是合法的 schema,源码中有
clientId: mqtt_test_spring
topics: iot/#,home/#
username: admin
password: public
timeout: 10
keepalive: 20
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-amqp:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.4" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-rabbit:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-amqp:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: com.rabbitmq:amqp-client:5.10.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.18.1" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.platform:junit-platform-engine:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.6.28" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.6.28" level="project" />
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.5" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>jyzb-mq</artifactId>
<groupId>com.junmp.jyzb</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jyzb-mq-consumer</artifactId>
</project>
\ No newline at end of file
package com.junmp.jyzb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//@EnableScheduling
//@EnableTransactionManagement
@SpringBootApplication
public class MqConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(MqConsumerApplication.class, args);
}
}
package com.junmp.jyzb.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Author : JCccc
* @CreateTime : 2019/9/3
* @Description :
**/
@Configuration
public class DirectRabbitConfig {
//队列 起名:TestDirectQueue
@Bean
public Queue TestDirectQueue() {
return new Queue("TestDirectQueue",true);
}
//Direct交换机 起名:TestDirectExchange
@Bean
DirectExchange TestDirectExchange() {
return new DirectExchange("TestDirectExchange");
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TestDirectRouting
@Bean
Binding bindingDirect() {
return BindingBuilder.bind(TestDirectQueue()).to(TestDirectExchange()).with("TestDirectRouting");
}
}
\ No newline at end of file
package com.junmp.jyzb.config;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* 创建消息接收监听类
* */
@Component
@RabbitListener(queues = "TestDirectQueue") //监听的队列名称 TestDirectQueue
public class DirectReceiver {
@RabbitHandler
public void process(Map testMessage) {
System.out.println("DirectReceiver消费者收到消息 : " + testMessage.toString());
}
}
\ No newline at end of file
package com.junmp.jyzb.controller;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@RestController
public class SendMsgController {
@Autowired
RabbitTemplate rabbitTemplate; //使用RabbitTemplate,这提供了接收/发送等等方法
@PostMapping("/sendDirectMessage")
public String sendDirectMessage() {
String messageId = String.valueOf(UUID.randomUUID());
String messageData = "test message, hello!";
String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Map<String,Object> map=new HashMap<>();
map.put("messageId",messageId);
map.put("messageData",messageData);
map.put("createTime",createTime);
//将消息携带绑定键值:TestDirectRouting 发送到交换机TestDirectExchange
rabbitTemplate.convertAndSend("TestDirectExchange", "TestDirectRouting", map);
return "ok";
}
@PostMapping("/send")
public String sendMessage() {
String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
try {
rabbitTemplate.convertAndSend("TestDirectExchange", "TestDirectRouting", "消息发送的时间为:" + createTime);
return "消息发送成功";
} catch (Exception e) {
e.printStackTrace();
return "消息发送失败";
}
}
}
server:
port: 8090
spring:
#配置rabbitMq 服务器
rabbitmq:
host: 192.168.3.188
port: 5672
username: root
password: 123456
#虚拟host 可以不设置,使用server默认host
virtual-host: /
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-amqp:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.4" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-rabbit:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-amqp:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: com.rabbitmq:amqp-client:5.10.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.18.1" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.platform:junit-platform-engine:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.6.28" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.6.28" level="project" />
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.5" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>jyzb-mq</artifactId>
<groupId>com.junmp.jyzb</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jyzb-mq-producer</artifactId>
</project>
\ No newline at end of file
package com.junmp.jyzb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MqProducerApplication {
public static void main(String[] args) {
SpringApplication.run(MqProducerApplication.class, args);
}
}
package com.junmp.jyzb.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Author : JCccc
* @CreateTime : 2019/9/3
* @Description :
**/
@Configuration
public class DirectRabbitConfig {
//队列 起名:TestDirectQueue
@Bean
public Queue TestDirectQueue() {
// durable:是否持久化,默认是false,持久化队列:会被存储在磁盘上,当消息代理重启时仍然存在,暂存队列:当前连接有效
// exclusive:默认也是false,只能被当前创建的连接使用,而且当连接关闭后队列即被删除。此参考优先级高于durable
// autoDelete:是否自动删除,当没有生产者或者消费者使用此队列,该队列会自动删除。
// return new Queue("TestDirectQueue",true,true,false);
//一般设置一下队列的持久化就好,其余两个就是默认false
return new Queue("TestDirectQueue",true);
}
//Direct交换机 起名:TestDirectExchange
@Bean
DirectExchange TestDirectExchange() {
// return new DirectExchange("TestDirectExchange",true,true);
return new DirectExchange("TestDirectExchange",true,false);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TestDirectRouting
@Bean
Binding bindingDirect() {
return BindingBuilder.bind(TestDirectQueue()).to(TestDirectExchange()).with("TestDirectRouting");
}
@Bean
DirectExchange lonelyDirectExchange() {
return new DirectExchange("lonelyDirectExchange");
}
}
\ No newline at end of file
package com.junmp.jyzb.controller;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@RestController
public class SendMsgController {
@Autowired
RabbitTemplate rabbitTemplate; //使用RabbitTemplate,这提供了接收/发送等等方法
@PostMapping("/sendDirectMessage")
public String sendDirectMessage() {
String messageId = String.valueOf(UUID.randomUUID());
String messageData = "test message, hello!";
String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Map<String,Object> map=new HashMap<>();
map.put("messageId",messageId);
map.put("messageData",messageData);
map.put("createTime",createTime);
//将消息携带绑定键值:TestDirectRouting 发送到交换机TestDirectExchange
rabbitTemplate.convertAndSend("TestDirectExchange", "TestDirectRouting", map);
return "ok";
}
@PostMapping("/send")
public String sendMessage() {
String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
try {
rabbitTemplate.convertAndSend("TestDirectExchange", "TestDirectRouting", "消息发送的时间为:" + createTime);
return "消息发送成功";
} catch (Exception e) {
e.printStackTrace();
return "消息发送失败";
}
}
}
server:
port: 9001
spring:
#配置rabbitMq 服务器
rabbitmq:
host: 192.168.3.188
port: 5672
username: root
password: 123456
#虚拟host 可以不设置,使用server默认host
virtual-host: /
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-amqp:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.4" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-rabbit:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.amqp:spring-amqp:2.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: com.rabbitmq:amqp-client:5.10.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.18.1" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.1" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.platform:junit-platform-engine:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.6.28" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.6.28" level="project" />
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.4.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.44" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.5" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>junmp-jyzb-app</artifactId>
<groupId>com.junmp.jyzb</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jyzb-mq</artifactId>
<packaging>pom</packaging>
<modules>
<module>jyzb-mq-consumer</module>
<module>jyzb-mq-producer</module>
</modules>
<name>jyzb-mq</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -13,8 +13,9 @@
<module>jyzb-api</module>
<module>jyzb-boot</module>
<module>jyzb-biz</module>
<module>jyzb-process</module>
<!-- <module>jyzb-process</module>-->
<module>jyzb-common</module>
<module>jyzb-mq</module>
</modules>
<parent>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论