diff --git a/muyu-auth/pom.xml b/muyu-auth/pom.xml
index a8ddedc..0428c99 100644
--- a/muyu-auth/pom.xml
+++ b/muyu-auth/pom.xml
@@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
com.muyu
- muyu
+ muyu-server
3.6.3
4.0.0
@@ -46,11 +46,15 @@
spring-boot-starter-actuator
-
+
com.muyu
muyu-common-security
+
+ com.muyu
+ muyu-common-core
+
@@ -78,5 +82,4 @@
-
diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
index ff0af1a..def6cae 100644
--- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
+++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
@@ -1,5 +1,4 @@
package com.muyu.auth.service;
-
import com.muyu.common.core.constant.CacheConstants;
import com.muyu.common.core.constant.Constants;
import com.muyu.common.core.constant.SecurityConstants;
@@ -12,9 +11,9 @@ import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.ip.IpUtils;
import com.muyu.common.redis.service.RedisService;
import com.muyu.common.security.utils.SecurityUtils;
-import com.muyu.common.system.remote.RemoteUserService;
-import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.LoginUser;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.common.system.remote.RemoteUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java
index 2d4de80..f96440a 100644
--- a/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java
+++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java
@@ -1,11 +1,12 @@
package com.muyu.auth.service;
+
import com.muyu.common.core.constant.Constants;
import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.ip.IpUtils;
-import com.muyu.common.system.remote.RemoteLogService;
import com.muyu.common.system.domain.SysLogininfor;
+import com.muyu.common.system.remote.RemoteLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml
index b309a3d..89a7337 100644
--- a/muyu-auth/src/main/resources/bootstrap.yml
+++ b/muyu-auth/src/main/resources/bootstrap.yml
@@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
- server-addr: 127.0.0.1:8848
+ server-addr: 175.24.138.82:8848
config:
# 配置中心地址
- server-addr: 127.0.0.1:8848
+ server-addr: 175.24.138.82:8848
# 配置文件格式
file-extension: yml
# 共享配置
diff --git a/muyu-business/muyu-data-plus/pom.xml b/muyu-business/muyu-data-plus/pom.xml
new file mode 100644
index 0000000..71f155b
--- /dev/null
+++ b/muyu-business/muyu-data-plus/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-business
+ 3.6.3
+
+
+ muyu-data-plus
+
+
+ 17
+ 17
+ UTF-8
+
+
diff --git a/muyu-business/muyu-data-service/pom.xml b/muyu-business/muyu-data-service/pom.xml
new file mode 100644
index 0000000..93f045c
--- /dev/null
+++ b/muyu-business/muyu-data-service/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-business
+ 3.6.3
+
+
+ muyu-data-service
+
+ muyu-data-service运营中心
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ com.github.yulichang
+ mybatis-plus-join
+ 1.2.4
+
+
+ com.muyu
+ muyu-common-business
+ 3.6.3
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+ com.muyu
+ muyu-common-system
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ muyu-common-datasource
+
+
+
+
+ com.muyu
+ muyu-common-datascope
+
+
+
+
+ com.muyu
+ muyu-common-log
+
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java
new file mode 100644
index 0000000..b9f5a96
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java
@@ -0,0 +1,38 @@
+package com.muyu.business.Job;
+
+
+
+import com.muyu.business.service.impl.EntinfoServiceImpl;
+import com.muyu.common.business.domain.Entinfo;
+import com.muyu.common.redis.service.RedisService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName ManyJob
+ * @Date 2024/06/06 18:32
+ */
+@Component
+@Log4j2
+public class ManyJob {
+
+ @Autowired
+ private RedisService redisService;
+
+ @Autowired
+ private EntinfoServiceImpl entinfoService;
+
+
+// @Scheduled(cron = "*/10 * * * * *") // 每10分钟执行一次
+ public void manyJob(){
+ redisService.deleteObject("entinfo");
+ List list = entinfoService.list();
+ redisService.setCacheList("entinfo",list);
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java
new file mode 100644
index 0000000..ce0f24d
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java
@@ -0,0 +1,28 @@
+package com.muyu.business;
+
+
+import com.muyu.common.security.annotation.EnableCustomConfig;
+import com.muyu.common.security.annotation.EnableMyFeignClients;
+import com.muyu.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName muyuBusinessApplication
+ * @Date 2024/05/26 15:00
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableMyFeignClients
+@SpringBootApplication
+@EnableScheduling
+public class MuyuBusinessApplication {
+ public static void main (String[] args) {
+ SpringApplication.run(MuyuBusinessApplication.class, args);
+ }
+
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java
new file mode 100644
index 0000000..356bce9
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java
@@ -0,0 +1,48 @@
+package com.muyu.business.config;
+
+import org.springframework.amqp.rabbit.connection.CorrelationData;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * 消息发送确认配置 消息发送到交换机的确认
+ */
+@Component
+public class ConfirmCallbackConfig implements RabbitTemplate.ConfirmCallback {
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+ /**
+ * @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执
+ * @PostConstruct bean 被初始化的时候执行的方法的注解
+ * @PreDestory bean 被销毁的时候执行的方法的注解
+ */
+ @PostConstruct
+ public void init() {
+ rabbitTemplate.setConfirmCallback(this);
+ }
+
+ /**
+ * 交换机不管是否收到消息的一个回调方法
+ *
+ * @param correlationData 消息相关数据
+ * @param ack 交换机是否收到消息
+ * @param cause 失败原因
+ */
+ @Override
+ public void confirm(CorrelationData correlationData, boolean ack, String cause) {
+ if (ack) {
+ // 消息投递到 broker 的状态,true表示成功
+ System.out.println("消息发送成功!");
+ } else {
+ // 发送异常
+ System.out.println("发送异常原因 = " + cause);
+ // TODO 可以将消息 内容 以及 失败的原因 记录到 日志表中
+ }
+ }
+
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java
new file mode 100644
index 0000000..43b66f9
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java
@@ -0,0 +1,53 @@
+package com.muyu.business.config;
+
+import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * RabbitAdmin是RabbitMQ的一个Java客户端库,它提供了管理RabbitMQ资源的功能。它是通过与RabbitMQ服务器进行交互来执行管理操作的。
+ */
+@Configuration
+public class RabbitAdminConfig {
+
+ @Value("${spring.rabbitmq.host}")
+ private String host;
+ @Value("${spring.rabbitmq.username}")
+ private String username;
+ @Value("${spring.rabbitmq.password}")
+ private String password;
+ @Value("${spring.rabbitmq.virtualhost}")
+ private String virtualhost;
+
+ /**
+ * 构建 RabbitMQ的连接工厂
+ * @return
+ */
+ @Bean
+ public ConnectionFactory connectionFactory() {
+ CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
+ connectionFactory.setAddresses(host);
+ connectionFactory.setUsername(username);
+ connectionFactory.setPassword(password);
+ connectionFactory.setVirtualHost(virtualhost);
+ // 配置发送确认回调时,次配置必须配置,否则即使在RabbitTemplate配置了ConfirmCallback也不会生效
+ connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED);
+ connectionFactory.setPublisherReturns(true);
+ return connectionFactory;
+ }
+
+ /**
+ * 自己初始化 RabbitAdmin
+ * @param connectionFactory
+ * @return
+ */
+ @Bean
+ public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) {
+ RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory);
+ rabbitAdmin.setAutoStartup(true);
+ return rabbitAdmin;
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java
new file mode 100644
index 0000000..4f82400
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java
@@ -0,0 +1,16 @@
+package com.muyu.business.config;
+
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
+import org.springframework.amqp.support.converter.MessageConverter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class RabbitmqConfig {
+ // 消息转换配置
+ @Bean
+ public MessageConverter jsonMessageConverter() {
+ // 使用json序列化方式,进行消息转换
+ return new Jackson2JsonMessageConverter();
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java
new file mode 100644
index 0000000..e01b704
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java
@@ -0,0 +1,34 @@
+package com.muyu.business.config;
+
+import org.springframework.amqp.core.ReturnedMessage;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * 消息发送到队列的确认 一旦消息发送到队列失败 则会执行 returnedMessage 方法
+ */
+@Component
+public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback {
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+ @PostConstruct // @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执
+ public void init() {
+ rabbitTemplate.setReturnsCallback(this);
+ }
+
+ /**
+ * 消息发送到 队列失败 执行的 方法
+ * @param returnedMessage the returned message and metadata.
+ */
+ @Override
+ public void returnedMessage(ReturnedMessage returnedMessage) {
+ System.out.println("消息" + returnedMessage.getMessage().toString() + "被交换机" + returnedMessage.getExchange() + "回退!"
+ + "退回原因为:" + returnedMessage.getReplyText());
+ // 回退了所有的信息,可做补偿机制 记录到 数据库
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java
new file mode 100644
index 0000000..c9c0753
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java
@@ -0,0 +1,104 @@
+package com.muyu.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import com.muyu.business.domain.Business;
+import com.muyu.business.service.IBusinessService;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.common.core.web.page.TableDataInfo;
+import com.muyu.common.log.annotation.Log;
+import com.muyu.common.log.enums.BusinessType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * 企业Controller
+ *
+ * @author muyu
+ * @date 2024-05-26
+ */
+@RestController
+@RequestMapping("/business")
+public class BusinessController extends BaseController
+{
+ @Autowired
+ private IBusinessService businessService;
+
+ /**
+ * 查询企业列表
+ */
+// @RequiresPermissions("system:business:list")
+ @GetMapping("/list")
+ public Result> list(Business business)
+ {
+ startPage();
+ List list = businessService.selectBusinessList(business);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出企业列表
+ */
+// @RequiresPermissions("system:business:export")
+ @Log(title = "企业", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, Business business)
+ {
+ List list = businessService.selectBusinessList(business);
+ ExcelUtil util = new ExcelUtil(Business.class);
+ util.exportExcel(response, list, "企业数据");
+ }
+
+ /**
+ * 获取企业详细信息
+ */
+// @RequiresPermissions("system:business:query")
+ @GetMapping(value = "/{id}")
+ public Result getInfo(@PathVariable("id") Long id)
+ {
+ return success(businessService.selectBusinessById(id));
+ }
+
+ /**
+ * 新增企业
+ */
+// @RequiresPermissions("system:business:add")
+ @Log(title = "企业", businessType = BusinessType.INSERT)
+ @PostMapping
+ public Result add(@RequestBody Business business)
+ {
+ return toAjax(businessService.insertBusiness(business));
+ }
+
+ /**
+ * 修改企业
+ */
+// @RequiresPermissions("system:business:edit")
+ @Log(title = "企业", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public Result edit(@RequestBody Business business)
+ {
+ return toAjax(businessService.updateBusiness(business));
+ }
+
+ /**
+ * 删除企业
+ */
+// @RequiresPermissions("system:business:remove")
+ @Log(title = "企业", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public Result remove(@PathVariable Long[] ids)
+ {
+ return toAjax(businessService.deleteBusinessByIds(ids));
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java
new file mode 100644
index 0000000..621c6b7
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java
@@ -0,0 +1,123 @@
+package com.muyu.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.muyu.business.domain.Cart;
+import com.muyu.business.domain.CartVo;
+import com.muyu.business.service.IEntinfoService;
+import com.muyu.business.service.PlusService;
+import com.muyu.common.business.domain.Entinfo;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.common.core.web.page.TableDataInfo;
+import com.muyu.common.log.annotation.Log;
+import com.muyu.common.log.enums.BusinessType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 多数据源Controller
+ *
+ * @author muyu
+ * @date 2024-06-06
+ */
+@RestController
+@RequestMapping("/entinfo")
+public class EntinfoController extends BaseController
+{
+ @Autowired
+ private IEntinfoService entinfoService;
+
+ @Autowired
+ private PlusService plusService;
+
+ @PostMapping("cartLiat")
+ public Result cartList(@RequestBody CartVo cartVo){
+ List list = plusService.list();
+ System.out.println(list);
+ return plusService.cartList();
+ }
+
+ /**
+ * 查询多数据源列表
+ */
+// @RequiresPermissions("system:entinfo:list")
+ @GetMapping("/list")
+ public Result> list(Entinfo entinfo)
+ {
+ startPage();
+ List list = entinfoService.selectEntinfoList(entinfo);
+ return getDataTable(list);
+ }
+
+ @GetMapping("listAll")
+ public List listAll(){
+ List list = entinfoService.list();
+ return list;
+ }
+
+ /**
+ * 导出多数据源列表
+ */
+// @RequiresPermissions("system:entinfo:export")
+ @Log(title = "多数据源", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, Entinfo entinfo)
+ {
+ List list = entinfoService.selectEntinfoList(entinfo);
+ ExcelUtil util = new ExcelUtil(Entinfo.class);
+ util.exportExcel(response, list, "多数据源数据");
+ }
+
+ /**
+ * 获取多数据源详细信息
+ */
+// @RequiresPermissions("system:entinfo:query")
+ @GetMapping(value = "/{id}")
+ public Result getInfo(@PathVariable("id") Long id)
+ {
+ return success(entinfoService.selectEntinfoById(id));
+ }
+
+ /**
+ * 新增多数据源
+ */
+// @RequiresPermissions("system:entinfo:add")
+ @Log(title = "多数据源", businessType = BusinessType.INSERT)
+ @PostMapping
+ public Result add(@RequestBody Entinfo entinfo)
+ {
+ return toAjax(entinfoService.insertEntinfo(entinfo));
+ }
+
+ /**
+ * 修改多数据源
+ */
+// @RequiresPermissions("system:entinfo:edit")
+ @Log(title = "多数据源", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public Result edit(@RequestBody Entinfo entinfo)
+ {
+ return toAjax(entinfoService.updateEntinfo(entinfo));
+ }
+
+ /**
+ * 删除多数据源
+ */
+// @RequiresPermissions("system:entinfo:remove")
+ @Log(title = "多数据源", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public Result remove(@PathVariable Long[] ids)
+ {
+ return toAjax(entinfoService.deleteEntinfoByIds(ids));
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java
new file mode 100644
index 0000000..123d55c
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java
@@ -0,0 +1,15 @@
+package com.muyu.business.controller;
+
+
+import com.muyu.business.domain.Business;
+import com.muyu.business.mapper.BusinessMapper;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName PlusController
+ * @Date 2024/06/09 15:28
+ */
+public class PlusController{
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java
new file mode 100644
index 0000000..54b7365
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java
@@ -0,0 +1,33 @@
+package com.muyu.business.domain;
+
+
+import com.muyu.common.system.domain.SysRole;
+import com.muyu.common.system.domain.SysUser;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.List;
+
+/**
+ * @author xiaohuang
+ * @description: 授权角色返回结果集
+ * @Date 2023-6-19 下午 02:50
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleResp {
+
+ /**
+ * 用户信息
+ */
+ private SysUser user;
+
+ /**
+ * 角色集合
+ */
+ private List roles;
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java
new file mode 100644
index 0000000..a1cf3bf
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java
@@ -0,0 +1,82 @@
+package com.muyu.business.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 企业对象 business
+ *
+ * @author muyu
+ * @date 2024-05-26
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@TableName("business")
+public class Business extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 企业主键 */
+ @Excel(name = "企业主键")
+ @TableId( type = IdType.AUTO)
+ private Long id;
+
+ /** 企业名称 */
+ @Excel(name = "企业名称")
+ private String name;
+
+ /** 企业法定代表人 */
+ @Excel(name = "企业法定代表人")
+ private String businessPerson;
+
+ /** 营业编码 */
+ @Excel(name = "营业编码")
+ private String businessLincenseNumber;
+
+ /** 企业创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "企业创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date businessCreateTime;
+
+ /** 企业电话 */
+ @Excel(name = "企业电话")
+ private String businessPhone;
+
+ /** 企业邮箱 */
+ @Excel(name = "企业邮箱")
+ private String businessEmail;
+
+ /** 企业状态 */
+ @Excel(name = "企业状态")
+ private String businessStates;
+
+ /** 入驻车联网平台时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "入驻车联网平台时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date businessRegistrationDate;
+
+ /** 服务等级0/1/2 */
+ @Excel(name = "服务等级0/1/2")
+ private String serviceLevel;
+
+ /** 认证等级0/1 */
+ @Excel(name = "认证等级0/1")
+ private String authentication;
+
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java
new file mode 100644
index 0000000..8b340e4
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java
@@ -0,0 +1,35 @@
+package com.muyu.business.domain;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName Cart
+ * @Date 2024/06/09 15:40
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("cart")
+public class Cart {
+
+// @TableId
+ private Long id;
+
+// @TableField(value = "name")
+ private String name;
+
+// @TableField(value = "type_id")
+ private Long typeId;
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java
new file mode 100644
index 0000000..1d600cd
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java
@@ -0,0 +1,30 @@
+package com.muyu.business.domain;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.common.core.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName BusinessVo
+ * @Date 2024/06/09 15:34
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ToString
+public class CartVo {
+ private Long id;
+ private String name;
+ private String typeName;
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java
new file mode 100644
index 0000000..8cf8282
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java
@@ -0,0 +1,31 @@
+package com.muyu.business.domain;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName Type
+ * @Date 2024/06/09 15:40
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("type")
+public class Type {
+
+// @TableId
+ private Long id;
+
+// @TableField(value = "type_name")
+ private String typeName;
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java
new file mode 100644
index 0000000..aa64cf5
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java
@@ -0,0 +1,22 @@
+package com.muyu.business.feign;
+
+
+
+import com.muyu.common.business.domain.Entinfo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.util.List;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName EntInfoFeign
+ * @Date 2024/06/07 17:25
+ */
+@FeignClient(value = "muyu-business-service")
+public interface EntInfoFeign {
+ @GetMapping("/entinfo/listAll")
+ public List listAll();
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java
new file mode 100644
index 0000000..06ba63e
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java
@@ -0,0 +1,66 @@
+package com.muyu.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.business.domain.Business;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.domain.LoginUser;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 企业Mapper接口
+ * @date 2024-05-26
+ */
+public interface BusinessMapper extends BaseMapper
+{
+ /**
+ * 查询企业
+ *
+ * @param id 企业主键
+ * @return 企业
+ */
+ public Business selectBusinessById(Long id);
+
+ /**
+ * 查询企业列表
+ *
+ * @param business 企业
+ * @return 企业集合
+ */
+ public List selectBusinessList(Business business);
+
+ /**
+ * 新增企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+ public int insertBusiness(Business business);
+
+ /**
+ * 修改企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+ public int updateBusiness(Business business);
+
+ /**
+ * 删除企业
+ *
+ * @param id 企业主键
+ * @return 结果
+ */
+ public int deleteBusinessById(Long id);
+
+ /**
+ * 批量删除企业
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteBusinessByIds(Long[] ids);
+
+ Result info(@Param("userId") Long userId);
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java
new file mode 100644
index 0000000..1010b15
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java
@@ -0,0 +1,65 @@
+package com.muyu.business.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.common.business.domain.Entinfo;
+
+/**
+ * 多数据源Mapper接口
+ *
+ * @author muyu
+ * @date 2024-06-06
+ */
+public interface EntinfoMapper extends BaseMapper
+{
+ /**
+ * 查询多数据源
+ *
+ * @param id 多数据源主键
+ * @return 多数据源
+ */
+ public Entinfo selectEntinfoById(Long id);
+
+ /**
+ * 查询多数据源列表
+ *
+ * @param entinfo 多数据源
+ * @return 多数据源集合
+ */
+ public List selectEntinfoList(Entinfo entinfo);
+
+ /**
+ * 新增多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ public int insertEntinfo(Entinfo entinfo);
+
+ /**
+ * 修改多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ public int updateEntinfo(Entinfo entinfo);
+
+ /**
+ * 删除多数据源
+ *
+ * @param id 多数据源主键
+ * @return 结果
+ */
+ public int deleteEntinfoById(Long id);
+
+ /**
+ * 批量删除多数据源
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteEntinfoByIds(Long[] ids);
+
+ Entinfo selectEntinfo(Entinfo business);
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java
new file mode 100644
index 0000000..dcd1d08
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java
@@ -0,0 +1,19 @@
+package com.muyu.business.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.muyu.business.domain.Cart;
+import com.muyu.business.domain.CartVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName PlusMapper
+ * @Date 2024/06/09 15:33
+ */
+@Mapper
+public interface PlusMapper extends MPJBaseMapper {
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java
new file mode 100644
index 0000000..96bbcdc
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java
@@ -0,0 +1,20 @@
+package com.muyu.business.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.muyu.business.domain.Cart;
+import com.muyu.business.domain.Type;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.poi.ss.formula.functions.T;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName PlusMapper
+ * @Date 2024/06/09 15:33
+ */
+@Mapper
+public interface TypeMapper extends BaseMapper {
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java
new file mode 100644
index 0000000..acd7739
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java
@@ -0,0 +1,63 @@
+package com.muyu.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.business.domain.Business;
+
+import java.util.List;
+
+/**
+ * 企业Service接口
+ *
+ * @author muyu
+ * @date 2024-05-26
+ */
+public interface IBusinessService extends IService
+{
+ /**
+ * 查询企业
+ *
+ * @param id 企业主键
+ * @return 企业
+ */
+ public Business selectBusinessById(Long id);
+
+ /**
+ * 查询企业列表
+ *
+ * @param business 企业
+ * @return 企业集合
+ */
+ public List selectBusinessList(Business business);
+
+ /**
+ * 新增企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+ public int insertBusiness(Business business);
+
+ /**
+ * 修改企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+ public int updateBusiness(Business business);
+
+ /**
+ * 批量删除企业
+ *
+ * @param ids 需要删除的企业主键集合
+ * @return 结果
+ */
+ public int deleteBusinessByIds(Long[] ids);
+
+ /**
+ * 删除企业信息
+ *
+ * @param id 企业主键
+ * @return 结果
+ */
+ public int deleteBusinessById(Long id);
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java
new file mode 100644
index 0000000..1924191
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java
@@ -0,0 +1,65 @@
+package com.muyu.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.common.business.domain.Entinfo;
+
+import java.util.List;
+
+/**
+ * 多数据源Service接口
+ *
+ * @author muyu
+ * @date 2024-06-06
+ */
+public interface IEntinfoService extends IService
+{
+ /**
+ * 查询多数据源
+ *
+ * @param id 多数据源主键
+ * @return 多数据源
+ */
+ public Entinfo selectEntinfoById(Long id);
+
+ /**
+ * 查询多数据源列表
+ *
+ * @param entinfo 多数据源
+ * @return 多数据源集合
+ */
+ public List selectEntinfoList(Entinfo entinfo);
+
+ /**
+ * 新增多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ public int insertEntinfo(Entinfo entinfo);
+
+ /**
+ * 修改多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ public int updateEntinfo(Entinfo entinfo);
+
+ /**
+ * 批量删除多数据源
+ *
+ * @param ids 需要删除的多数据源主键集合
+ * @return 结果
+ */
+ public int deleteEntinfoByIds(Long[] ids);
+
+ /**
+ * 删除多数据源信息
+ *
+ * @param id 多数据源主键
+ * @return 结果
+ */
+ public int deleteEntinfoById(Long id);
+
+ Entinfo selectEntinfo(Entinfo business);
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java
new file mode 100644
index 0000000..088908e
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java
@@ -0,0 +1,19 @@
+package com.muyu.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.github.yulichang.base.MPJBaseService;
+import com.muyu.business.domain.Cart;
+import com.muyu.business.domain.CartVo;
+import com.muyu.common.core.domain.Result;
+
+/**
+ * @ClassName PlusService
+ * @Description 描述
+ * @Author xiaohuang
+ * @Date 2024/06/09 15:36
+ */
+public interface PlusService extends IService {
+ Result cartList();
+
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java
new file mode 100644
index 0000000..895702d
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java
@@ -0,0 +1,235 @@
+package com.muyu.business.service.impl;
+
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.muyu.business.domain.Business;
+
+import com.muyu.business.mapper.BusinessMapper;
+//import com.muyu.business.remote.factory.RemoteUserLoginFactory;
+import com.muyu.business.service.IBusinessService;
+import com.muyu.common.business.domain.Entinfo;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.DateUtils;
+import com.muyu.common.redis.service.RedisService;
+import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.common.system.domain.LoginUser;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.common.system.remote.RemoteUserService;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * 企业Service业务层处理
+ *
+ * @author muyu
+ * @date 2024-05-26
+ */
+@Service
+public class BusinessServiceImpl extends ServiceImpl
+ implements IBusinessService
+{
+ @Autowired
+ private BusinessMapper businessMapper;
+
+ @Autowired
+ private RemoteUserService remoteUserService;
+
+ @Autowired
+ private RedisService redisService;
+
+ /**
+ * 查询企业
+ *
+ * @param id 企业主键
+ * @return 企业
+ */
+ @Override
+ public Business selectBusinessById(Long id)
+ {
+ return businessMapper.selectBusinessById(id);
+ }
+
+
+ /**
+ * 查询企业列表
+ *
+ * @param business 企业
+ * @return 企业
+ */
+ @Override
+ public List selectBusinessList(Business business)
+ {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ SysUser user = remoteUserService.selectByUserId(loginUser.getUserid());
+ if (user.getUserType().equals("00")) {
+ return businessMapper.selectBusinessList(business);
+ }
+ business.setId(Long.valueOf(user.getUserType()));
+ return businessMapper.selectBusinessList(business);
+ }
+
+ /**
+ * 新增企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+// @Autowired
+// private RemoteUserLoginFactory remoteUserLoginFactory;
+ @Override
+ public int insertBusiness(Business business)
+ {
+ business.setCreateTime(DateUtils.getNowDate());
+ int i = businessMapper.insertBusiness(business);
+ System.out.println(business);
+ SysUser sysUser = SysUser.builder()
+ .userName(business.getName())
+ .password("admin123")
+ .nickName(business.getName())
+ .email(business.getBusinessEmail())
+ .phonenumber(business.getBusinessPhone())
+ .loginIp("111.229.102.61")
+ .roleId(Long.valueOf(101))
+ .userType(String.valueOf(business.getId()))
+ .build();
+ Result add = remoteUserService.add(sysUser);
+ return i;
+ }
+
+
+ /**
+ * 修改企业
+ *
+ * @param business 企业
+ * @return 结果
+ */
+ @Override
+ public int updateBusiness(Business business)
+ {
+ business.setUpdateTime(DateUtils.getNowDate());
+ httpConnectMysql(business);
+ return businessMapper.updateBusiness(business);
+ }
+ @Autowired
+ private EntinfoServiceImpl entinfoService;
+
+ /**
+ * 判断redis是否存在端口号
+ * @param business
+ */
+ public void httpConnectMysql(Business business){
+ redisService.deleteObject("entinfo");
+ List list = entinfoService.list();
+ if(list.size()!=0){
+ redisService.setCacheList("entinfo",list);
+ }
+ if (business.getBusinessStates().equals("2")) {
+ SysUser sysUser = remoteUserService.userById(business.getId());
+ sysUser.setRoleId(Long.valueOf(2));
+ remoteUserService.updateById(sysUser);
+ Entinfo build = Entinfo.builder()
+ .entCode("test_" + business.getId())
+ .ip("175.24.138.82")
+ .port(Integer.valueOf(3306 + Integer.valueOf(String.valueOf(business.getId())))).build();
+ Entinfo entinfo =entinfoService.selectEntinfo(build);
+ if (entinfo==null){
+ extracted(business);
+ }
+ }
+ }
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+
+ /**
+ * http URL 进行创建Mysql Docker
+ * @param business
+ */
+ private void extracted(Business business) {
+ String postUrl="http://175.24.138.82:10006/webhook/%E6%9C%AA%E5%91%BD%E5%90%8D%E9%A1%B9%E7%9B%AE";
+ HashMap hashMap = new HashMap<>();
+ hashMap.put("businessId",business.getId()+ business.getName());
+ hashMap.put("mysqlPort",String.valueOf(3306+ business.getId()));
+ String json = JSON.toJSONString(hashMap);
+ // 3.创建连接与设置连接参数
+ URL urlObj = null;
+ try {
+ urlObj = new URL(postUrl);
+ HttpURLConnection httpConn = (HttpURLConnection) urlObj.openConnection();
+ httpConn.setRequestMethod("POST");
+ httpConn.setRequestProperty("Charset", "UTF-8");
+ // POST请求且JSON数据,必须设置
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ // 打开输出流,默认是false
+ httpConn.setDoOutput(true);
+// // 打开输入流,默认是true,可省略
+// httpConn.setDoInput(true);
+ // 4.从HttpURLConnection获取输出流和写数据
+ OutputStream oStream = httpConn.getOutputStream();
+ oStream.write(json.getBytes());
+ oStream.flush();
+ // 5.发起http调用(getInputStream触发http请求)
+ if (httpConn.getResponseCode() != 200) {
+ throw new Exception("调用服务端异常.");
+ }
+ // 6.从HttpURLConnection获取输入流和读数据
+ BufferedReader br = new BufferedReader(
+ new InputStreamReader(httpConn.getInputStream()));
+ String resultData = br.readLine();
+ System.out.println("从服务端返回结果: " + resultData);
+ // 7.关闭HttpURLConnection连接
+ httpConn.disconnect();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ Entinfo build = Entinfo.builder()
+ .entCode("test_" + business.getId())
+ .ip("175.24.138.82")
+ .port(Integer.valueOf(3306 + Integer.valueOf(String.valueOf(business.getId())))).build();
+ entinfoService.insertEntinfo(build);
+ rabbitTemplate.convertAndSend("muyu-vehicle-exchange",JSON.toJSONString(build),message ->{
+ message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
+ //设置消息延迟时间为5秒
+ message.getMessageProperties().setDelay(5000);
+ return message;
+ } );
+ }
+
+ /**
+ * 批量删除企业
+ *
+ * @param ids 需要删除的企业主键
+ * @return 结果
+ */
+ @Override
+ public int deleteBusinessByIds(Long[] ids)
+ {
+ return businessMapper.deleteBusinessByIds(ids);
+ }
+
+ /**
+ * 删除企业信息
+ *
+ * @param id 企业主键
+ * @return 结果
+ */
+ @Override
+ public int deleteBusinessById(Long id)
+ {
+ return businessMapper.deleteBusinessById(id);
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java
new file mode 100644
index 0000000..53b9c7a
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java
@@ -0,0 +1,101 @@
+package com.muyu.business.service.impl;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.business.mapper.EntinfoMapper;
+import com.muyu.business.service.IEntinfoService;
+import com.muyu.common.business.domain.Entinfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 多数据源Service业务层处理
+ *
+ * @author muyu
+ * @date 2024-06-06
+ */
+@Service
+public class EntinfoServiceImpl extends ServiceImpl
+ implements IEntinfoService
+{
+ @Autowired
+ private EntinfoMapper entinfoMapper;
+
+ /**
+ * 查询多数据源
+ *
+ * @param id 多数据源主键
+ * @return 多数据源
+ */
+ @Override
+ public Entinfo selectEntinfoById(Long id)
+ {
+ return entinfoMapper.selectEntinfoById(id);
+ }
+
+ /**
+ * 查询多数据源列表
+ *
+ * @param entinfo 多数据源
+ * @return 多数据源
+ */
+ @Override
+ public List selectEntinfoList(Entinfo entinfo)
+ {
+ return entinfoMapper.selectEntinfoList(entinfo);
+ }
+
+ /**
+ * 新增多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ @Override
+ public int insertEntinfo(Entinfo entinfo)
+ {
+ return entinfoMapper.insertEntinfo(entinfo);
+ }
+
+ /**
+ * 修改多数据源
+ *
+ * @param entinfo 多数据源
+ * @return 结果
+ */
+ @Override
+ public int updateEntinfo(Entinfo entinfo)
+ {
+ return entinfoMapper.updateEntinfo(entinfo);
+ }
+
+ /**
+ * 批量删除多数据源
+ *
+ * @param ids 需要删除的多数据源主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEntinfoByIds(Long[] ids)
+ {
+ return entinfoMapper.deleteEntinfoByIds(ids);
+ }
+
+ /**
+ * 删除多数据源信息
+ *
+ * @param id 多数据源主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEntinfoById(Long id)
+ {
+ return entinfoMapper.deleteEntinfoById(id);
+ }
+
+ @Override
+ public Entinfo selectEntinfo(Entinfo business) {
+ return entinfoMapper.selectEntinfo(business);
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java
new file mode 100644
index 0000000..fcd958f
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java
@@ -0,0 +1,57 @@
+package com.muyu.business.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.muyu.business.domain.Cart;
+import com.muyu.business.domain.CartVo;
+import com.muyu.business.domain.Type;
+import com.muyu.business.mapper.PlusMapper;
+import com.muyu.business.mapper.TypeMapper;
+import com.muyu.business.service.PlusService;
+import com.muyu.common.core.domain.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * xiaohuang
+ *
+ * @Description 描述
+ * @ClassName PlusServiceImpl
+ * @Date 2024/06/09 15:37
+ */
+@Service
+public class PlusServiceImpl extends MPJBaseServiceImpl implements PlusService {
+
+ @Autowired
+ private PlusMapper plusMapper;
+
+ @Autowired
+ private TypeMapper typeMapper;
+
+ @Override
+ public Result cartList() {
+ MPJLambdaWrapper mpjLambdaWrapper = new MPJLambdaWrapper()
+ .selectAll( Cart.class) //查询主表所有的字段
+ .select(Type::getTypeName) //查询类型名称
+ .leftJoin(Type.class, Type::getId, Cart::getTypeId);//左连接查询,相当于 left join type on dept.id=user.dept_id
+ List cartList = plusMapper.selectJoinList(CartVo.class, mpjLambdaWrapper);
+ return Result.success(cartList);
+// MPJLambdaWrapper mpjLambdaWrapper1 = new MPJLambdaWrapper<>();
+// MPJLambdaWrapper lambdaWrapper = mpjLambdaWrapper1.eq(Cart::getId, "1");
+
+
+// List list = this.list();
+// list.stream().forEach(cart -> {
+// LambdaQueryWrapper typeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+// Type type = typeMapper.selectOne(typeLambdaQueryWrapper.eq(Type::getId, cart.getTypeId()));
+// cart.setName(type.getTypeName());
+// });
+// System.out.println(list);
+// return Result.success(list,cartList.toString());
+ }
+}
diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java
new file mode 100644
index 0000000..e56ef6c
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java
@@ -0,0 +1,60 @@
+package com.muyu.business.text; /**
+ * xioahuang
+ *
+ * @Description 描述
+ * @ClassName text
+ * @Date 2024/05/29 10:31
+ */
+import com.alibaba.fastjson.JSON;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.HashMap;
+
+public class DatabaseInitializer {
+
+ public static void main(String[] args) {
+ String postUrl="http://122.51.111.225:10006/webhook/%E6%96%B0%E5%BB%BA%E4%BC%81%E4%B8%9A%E6%95%B0%E6%8D%AE%E6%BA%90";
+ HashMap hashMap = new HashMap<>();
+ hashMap.put("businessId",40+"jhghj");
+ hashMap.put("mysqlPort",String.valueOf(3301));
+ String json = JSON.toJSONString(hashMap);
+ // 3.创建连接与设置连接参数
+ URL urlObj = null;
+ try {
+ urlObj = new URL(postUrl);
+ HttpURLConnection httpConn = (HttpURLConnection) urlObj.openConnection();
+ httpConn.setRequestMethod("POST");
+ httpConn.setRequestProperty("Charset", "UTF-8");
+ // POST请求且JSON数据,必须设置
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ // 打开输出流,默认是false
+ httpConn.setDoOutput(true);
+ // 打开输入流,默认是true,可省略
+ httpConn.setDoInput(true);
+ // 4.从HttpURLConnection获取输出流和写数据
+ OutputStream oStream = httpConn.getOutputStream();
+ oStream.write(json.getBytes());
+ oStream.flush();
+ // 5.发起http调用(getInputStream触发http请求)
+ if (httpConn.getResponseCode() != 200) {
+ throw new Exception("调用服务端异常.");
+ }
+ // 6.从HttpURLConnection获取输入流和读数据
+ BufferedReader br = new BufferedReader(
+ new InputStreamReader(httpConn.getInputStream()));
+ String resultData = br.readLine();
+ System.out.println("从服务端返回结果: " + resultData);
+ // 7.关闭HttpURLConnection连接
+ httpConn.disconnect();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/muyu-modules/muyu-file/src/main/resources/banner.txt b/muyu-business/muyu-data-service/src/main/resources/banner.txt
similarity index 100%
rename from muyu-modules/muyu-file/src/main/resources/banner.txt
rename to muyu-business/muyu-data-service/src/main/resources/banner.txt
diff --git a/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml b/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..c03f210
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml
@@ -0,0 +1,42 @@
+# Tomcat
+server:
+ port: 9211
+# Spring
+spring:
+ rabbitmq:
+ username: guest
+ password: guest
+ virtualHost: /
+ port: 5672
+ host: 175.24.138.82
+ listener:
+ simple:
+ prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条
+ publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange)
+ publisher-returns: true #确认消息已发送到队列(Queue)
+ application:
+ # 应用名称
+ name: muyu-business
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 175.24.138.82:8848
+ # 命名空间
+
+ config:
+ # 配置中心地址
+ server-addr: 175.24.138.82:8848
+ # 命名空间
+
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+logging:
+ level:
+ com.muyu.business.mapper: DEBUG
diff --git a/muyu-business/muyu-data-service/src/main/resources/logback.xml b/muyu-business/muyu-data-service/src/main/resources/logback.xml
new file mode 100644
index 0000000..38a740b
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml b/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml
new file mode 100644
index 0000000..fee71b6
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, name, business_person, business_lincense_number, business_create_time, business_phone, business_email, business_states, business_registration_date, service_level, authentication, remark, create_by, create_time, update_by, update_time from business
+
+
+
+
+
+
+
+
+ insert into business
+
+ name,
+ business_person,
+ business_lincense_number,
+ business_create_time,
+ business_phone,
+ business_email,
+ business_states,
+ business_registration_date,
+ service_level,
+ authentication,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+
+
+ #{name},
+ #{businessPerson},
+ #{businessLincenseNumber},
+ #{businessCreateTime},
+ #{businessPhone},
+ #{businessEmail},
+ #{businessStates},
+ #{businessRegistrationDate},
+ #{serviceLevel},
+ #{authentication},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+
+
+
+
+ update business
+
+ name = #{name},
+ business_person = #{businessPerson},
+ business_lincense_number = #{businessLincenseNumber},
+ business_create_time = #{businessCreateTime},
+ business_phone = #{businessPhone},
+ business_email = #{businessEmail},
+ business_states = #{businessStates},
+ business_registration_date = #{businessRegistrationDate},
+ service_level = #{serviceLevel},
+ authentication = #{authentication},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+
+ where id = #{id}
+
+
+
+ delete from business where id = #{id}
+
+
+
+ delete from business where id in
+
+ #{id}
+
+
+
diff --git a/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml b/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml
new file mode 100644
index 0000000..b7671e0
--- /dev/null
+++ b/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ select ent_code, ip, port, id from entinfo
+
+
+
+
+
+
+
+
+ insert into entinfo
+
+ ent_code,
+ ip,
+ port,
+
+
+ #{entCode},
+ #{ip},
+ #{port},
+
+
+
+
+ update entinfo
+
+ ent_code = #{entCode},
+ ip = #{ip},
+ port = #{port},
+
+ where id = #{id}
+
+
+
+ delete from entinfo where id = #{id}
+
+
+
+ delete from entinfo where id in
+
+ #{id}
+
+
+
diff --git a/muyu-business/pom.xml b/muyu-business/pom.xml
new file mode 100644
index 0000000..60795fb
--- /dev/null
+++ b/muyu-business/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-server
+ 3.6.3
+
+
+ muyu-business
+ pom
+
+ muyu-data-plus
+ muyu-data-service
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+ muyu-business系统模块
+
+
+
diff --git a/muyu-cloud-datasource/muyu-datasource-service/pom.xml b/muyu-cloud-datasource/muyu-datasource-service/pom.xml
new file mode 100644
index 0000000..5bd5c2b
--- /dev/null
+++ b/muyu-cloud-datasource/muyu-datasource-service/pom.xml
@@ -0,0 +1,117 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-cloud-datasource
+ 3.6.3
+
+
+ muyu-datasource-service
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ muyu-datasource-service多数据源配置
+
+
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ muyu-common-datasource
+
+
+
+
+ com.muyu
+ muyu-common-datascope
+
+
+
+
+ com.muyu
+ muyu-common-log
+
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
+
diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java
new file mode 100644
index 0000000..6b72931
--- /dev/null
+++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java
@@ -0,0 +1,71 @@
+package com.muyu.datasource;
+
+
+import com.muyu.datasource.config.factory.DruidDataSourceFactory;
+import com.muyu.datasource.config.role.DynamicDataSource;
+import com.muyu.datasource.domain.DataSourceInfo;
+import com.muyu.datasource.domain.EntInfo;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author DongZl
+ * @description: 数据源配置
+ * @Date 2023-8-1 上午 11:05
+ */
+@Log4j2
+@Configuration
+public class ManyDataSource {
+
+
+ private List dataSourceInfoList(){
+ List databaseNameList = new ArrayList<>(){{
+ add(EntInfo.builder()
+ .entCode("test_1")
+ .ip("175.24.138.82")
+ .port(3306)
+ .build());
+ add(EntInfo.builder()
+ .entCode("test_2")
+ .ip("122.51.111.225")
+ .port(6666)
+ .build());
+ add(EntInfo.builder()
+ .entCode("test_3")
+ .ip("122.51.111.225")
+ .port(3333)
+ .build());
+ }};
+ return databaseNameList;
+ }
+
+
+
+ @Bean
+ @Primary
+ public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) {
+
+ //查企业
+ Map