From 3fccdf3da09fac06467307b7798b31e4124de512 Mon Sep 17 00:00:00 2001 From: hbr <1991483710@qq.com> Date: Thu, 6 Jun 2024 18:23:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EntinfoController.java | 106 ++++++++++++++++++ .../com/zhiLian/business/domain/EntInfo.java | 46 ++++++++ .../business/mapper/EntinfoMapper.java | 63 +++++++++++ .../business/service/IEntinfoService.java | 63 +++++++++++ .../service/impl/BusinessServiceImpl.java | 31 +++-- .../service/impl/EntinfoServiceImpl.java | 96 ++++++++++++++++ .../mapper/entInfo/EntinfoMapper.xml | 66 +++++++++++ .../service/impl/SysUserServiceImpl.java | 2 +- .../resources/mapper/system/SysUserMapper.xml | 2 +- .../vehicle/datasource/ManyDataSource.java | 60 ++++++---- .../datasource/config/DataSourceAsp.java | 23 +++- .../config/role/DynamicDataSource.java | 2 +- .../contents/DatasourceContent.java | 6 +- .../datasource/domain/DataSourceInfo.java | 6 +- .../vehicle/datasource/domain/EntInfo.java | 29 ----- .../vehicle/datasource/domain/Entinfo.java | 44 ++++++++ .../datasource/util/DataSourceService.java | 6 +- .../com/zhiLian/vehicle/domain/Vehicle.java | 4 +- .../service/impl/VehicleServiceImpl.java | 10 +- .../src/main/resources/bootstrap.yml | 2 + .../mapper/vehicle/VehicleMapper.xml | 12 +- 21 files changed, 593 insertions(+), 86 deletions(-) create mode 100644 zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/controller/EntinfoController.java create mode 100644 zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/domain/EntInfo.java create mode 100644 zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/mapper/EntinfoMapper.java create mode 100644 zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/IEntinfoService.java create mode 100644 zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/EntinfoServiceImpl.java create mode 100644 zhiLian-business/zhiLian-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml delete mode 100644 zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java create mode 100644 zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/Entinfo.java diff --git a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/controller/EntinfoController.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/controller/EntinfoController.java new file mode 100644 index 0000000..73145c5 --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/controller/EntinfoController.java @@ -0,0 +1,106 @@ +package com.zhiLian.business.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.zhiLian.business.domain.Entinfo; +import com.zhiLian.business.service.IEntinfoService; +import com.zhiLian.common.core.domain.Result; +import com.zhiLian.common.core.utils.poi.ExcelUtil; +import com.zhiLian.common.core.web.controller.BaseController; +import com.zhiLian.common.core.web.page.TableDataInfo; +import com.zhiLian.common.log.annotation.Log; +import com.zhiLian.common.log.enums.BusinessType; +import com.zhiLian.common.security.annotation.RequiresPermissions; +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; + + /** + * 查询多数据源列表 + */ +// @RequiresPermissions("system:entinfo:list") + @GetMapping("/list") + public Result> list(Entinfo entinfo) + { + startPage(); + List list = entinfoService.selectEntinfoList(entinfo); + return getDataTable(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/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/domain/EntInfo.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/domain/EntInfo.java new file mode 100644 index 0000000..775f251 --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/domain/EntInfo.java @@ -0,0 +1,46 @@ +package com.zhiLian.business.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zhiLian.common.core.annotation.Excel; +import com.zhiLian.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; + +/** + * 多数据源对象 entinfo + * + * @author muyu + * @date 2024-06-06 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("entinfo") +public class Entinfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 数据源key */ + @Excel(name = "数据源key") + private String entCode; + + /** 数据源ip */ + @Excel(name = "数据源ip") + private String ip; + + /** 数据源端口 */ + @Excel(name = "数据源端口") + private Integer port; + + /** 数据源ID */ + private Long id; + + +} diff --git a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/mapper/EntinfoMapper.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/mapper/EntinfoMapper.java new file mode 100644 index 0000000..9c46a11 --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/mapper/EntinfoMapper.java @@ -0,0 +1,63 @@ +package com.zhiLian.business.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhiLian.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); +} diff --git a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/IEntinfoService.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/IEntinfoService.java new file mode 100644 index 0000000..a456cb3 --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/IEntinfoService.java @@ -0,0 +1,63 @@ +package com.zhiLian.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhiLian.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); +} diff --git a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/BusinessServiceImpl.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/BusinessServiceImpl.java index 0770301..7ece7fc 100644 --- a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/BusinessServiceImpl.java +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/BusinessServiceImpl.java @@ -3,13 +3,16 @@ package com.zhiLian.business.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.zhiLian.business.domain.AuthRoleResp; + import com.zhiLian.business.domain.Business; + +import com.zhiLian.business.domain.Entinfo; import com.zhiLian.business.mapper.BusinessMapper; import com.zhiLian.business.remote.factory.RemoteUserLoginFactory; import com.zhiLian.business.service.IBusinessService; import com.zhiLian.common.core.domain.Result; import com.zhiLian.common.core.utils.DateUtils; +import com.zhiLian.common.redis.service.RedisService; import com.zhiLian.common.security.utils.SecurityUtils; import com.zhiLian.common.system.domain.LoginUser; import com.zhiLian.common.system.domain.SysUser; @@ -29,6 +32,7 @@ import java.net.ProtocolException; import java.net.URL; import java.util.HashMap; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 企业Service业务层处理 @@ -47,7 +51,7 @@ public class BusinessServiceImpl extends ServiceImpl private RemoteUserService remoteUserService; @Autowired - private RedisTemplate redisTemplate; + private RedisService redisService; /** * 查询企业 @@ -71,7 +75,6 @@ public class BusinessServiceImpl extends ServiceImpl @Override public List selectBusinessList(Business business) { - LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); if (user.getUserType().equals("00")) { @@ -122,17 +125,25 @@ public class BusinessServiceImpl extends ServiceImpl 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(); + redisService.setCacheList("entinfo",list); if (business.getBusinessStates().equals(2) ) { - if (!redisTemplate.hasKey(business.getId()+business.getName())){ - redisTemplate.opsForValue().set(business.getId()+business.getName(),String.valueOf(3306+business.getId())); - extracted(business); - } + Entinfo build = Entinfo.builder() + .entCode("test_" + business.getId()) + .ip("192.168.120.128") + .port(Integer.valueOf(3306 + Integer.valueOf(String.valueOf(business.getId())))).build(); + entinfoService.insertEntinfo(build); +// redisService.setCacheObject(String.valueOf(business.getId()),JSON.toJSONString(build)); + extracted(business); } } @@ -142,11 +153,12 @@ public class BusinessServiceImpl extends ServiceImpl * @param business */ private static void extracted(Business business) { - 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"; + String postUrl="http://192.168.120.128/webhook/%E6%96%B0%E5%BB%BAmysql%E6%9C%8D%E5%8A%A1"; HashMap hashMap = new HashMap<>(); - hashMap.put("businessId", business.getId()+ business.getName()); + 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 { @@ -178,6 +190,7 @@ public class BusinessServiceImpl extends ServiceImpl } catch (Exception e) { throw new RuntimeException(e); } + } /** diff --git a/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/EntinfoServiceImpl.java b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/EntinfoServiceImpl.java new file mode 100644 index 0000000..fc1bd5e --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/java/com/zhiLian/business/service/impl/EntinfoServiceImpl.java @@ -0,0 +1,96 @@ +package com.zhiLian.business.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhiLian.business.domain.Entinfo; +import com.zhiLian.business.mapper.EntinfoMapper; +import com.zhiLian.business.service.IEntinfoService; +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); + } +} diff --git a/zhiLian-business/zhiLian-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml b/zhiLian-business/zhiLian-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml new file mode 100644 index 0000000..675678c --- /dev/null +++ b/zhiLian-business/zhiLian-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + 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/zhiLian-modules/zhiLian-modules-system/src/main/java/com/zhiLian/system/service/impl/SysUserServiceImpl.java b/zhiLian-modules/zhiLian-modules-system/src/main/java/com/zhiLian/system/service/impl/SysUserServiceImpl.java index e6ba4e3..3589253 100644 --- a/zhiLian-modules/zhiLian-modules-system/src/main/java/com/zhiLian/system/service/impl/SysUserServiceImpl.java +++ b/zhiLian-modules/zhiLian-modules-system/src/main/java/com/zhiLian/system/service/impl/SysUserServiceImpl.java @@ -241,7 +241,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 新增用户岗位关联 insertUserPost(user); // 新增用户与角色管理 - if (user.getRoleId()==null&& user.getRoleId().equals("")){ + if (null == user.getRoleId()|| user.getRoleId().equals("")){ user.setRoleId(Long.valueOf(2)); insertUserRole(user); return rows; diff --git a/zhiLian-modules/zhiLian-modules-system/src/main/resources/mapper/system/SysUserMapper.xml b/zhiLian-modules/zhiLian-modules-system/src/main/resources/mapper/system/SysUserMapper.xml index 0b047f9..47383fb 100644 --- a/zhiLian-modules/zhiLian-modules-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/zhiLian-modules/zhiLian-modules-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -190,8 +190,8 @@ insert into sys_user( user_id, dept_id, - user_type, user_name, + user_type, nick_name, email, avatar, diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java index 442f5b8..4abb85b 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java @@ -1,14 +1,23 @@ package com.zhiLian.vehicle.datasource; +import com.alibaba.fastjson2.JSON; +import com.zhiLian.common.redis.service.RedisService; +import com.zhiLian.common.system.remote.RemoteUserService; import com.zhiLian.vehicle.datasource.config.factory.DruidDataSourceFactory; import com.zhiLian.vehicle.datasource.config.role.DynamicDataSource; import com.zhiLian.vehicle.datasource.domain.DataSourceInfo; -import com.zhiLian.vehicle.datasource.domain.EntInfo; +import com.zhiLian.vehicle.datasource.domain.Entinfo; import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Primary; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import springfox.documentation.spring.web.json.Json; import java.util.ArrayList; import java.util.HashMap; @@ -16,33 +25,46 @@ import java.util.List; import java.util.Map; /** - * @author DongZl - * @description: 数据源配置 - * @Date 2023-8-1 上午 11:05 + * BingRui.Hou + * 数据源配置 */ @Log4j2 -@Configuration +@Component +@AutoConfigureBefore(RedisService.class) public class ManyDataSource { + @Autowired + private RedisService redisService; - private List dataSourceInfoList(){ - List databaseNameList = new ArrayList<>(){{ - add(EntInfo.builder() - .entCode("test_1") + @Autowired + private RedisTemplate redisTemplate; + + + @Lazy + private List dataSourceInfoList(){ + List databaseNameList = new ArrayList<>(){{ + add(Entinfo.builder() + .entCode("test_00") .ip("192.168.120.128") .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()); }}; + List entinfo = redisTemplate.opsForList().range("entinfo", 0, -1); + + entinfo.forEach(string -> { + Entinfo entInfo = JSON.parseObject(string, Entinfo.class); + databaseNameList.add(entInfo); + }); +// if(SecurityUtils.getLoginUser() == null){ +// return databaseNameList; +// }else{ +// Long storeId = SecurityUtils.getLoginUser().getUserid(); +// SysUser sysUser = remoteUserService.selectByUserId(storeId); +// String s = redisService.getCacheObject(String.valueOf(sysUser.getUserType())); +// EntInfo entInfo = JSON.parseObject(s, EntInfo.class); +// databaseNameList.add(entInfo); +// return databaseNameList; +// } return databaseNameList; } diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/DataSourceAsp.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/DataSourceAsp.java index b58b76b..10b7706 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/DataSourceAsp.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/DataSourceAsp.java @@ -1,17 +1,22 @@ package com.zhiLian.vehicle.datasource.config; + import com.zhiLian.common.security.utils.SecurityUtils; +import com.zhiLian.common.system.domain.SysUser; +import com.zhiLian.common.system.remote.RemoteUserService; import com.zhiLian.vehicle.datasource.config.holder.DynamicDataSourceHolder; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; /** - * @author DongZl - * @description: 数据源切面 - * @Date 2023-8-2 下午 08:26 + * BingRui.Hou + * 数据源切面 + * */ @Aspect @Component @@ -21,14 +26,24 @@ public class DataSourceAsp { public void pointcut () { } + @Lazy + @Autowired + private RemoteUserService remoteUserService; + /** * 的每一個方法執行之前 執行的處理 */ @Before("pointcut()") public void beforeMethod() { +// EntInfo build = EntInfo.builder() +// .entCode("test_" + 12) +// .ip("192.168.120.128") +// .port(Integer.valueOf(3307)).build(); +// redisService.setCacheObject(String.valueOf(12), JSON.toJSONString(build)); Long storeId = SecurityUtils.getLoginUser().getUserid(); - DynamicDataSourceHolder.setDynamicDataSourceKey("test_"+storeId); + SysUser sysUser = remoteUserService.selectByUserId(storeId); + DynamicDataSourceHolder.setDynamicDataSourceKey("test_"+sysUser.getUserType()); } /** * 的每一個方法執行之后 執行的處理 diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java index 3c46114..7458264 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java @@ -14,7 +14,7 @@ import java.util.Map; * 动态数据源 * 调用AddDefineDataSource组件的addDefineDynamicDataSource()方法,获取原来targetdatasources的map,并将新的数据源信息添加到map中,并替换targetdatasources中的map * 切换数据源时可以使用@DataSource(value = "数据源名称"),或者DynamicDataSourceContextHolder.setContextKey("数据源名称") - * @author Dongzl + * @author BingRui.Hou */ @Data @AllArgsConstructor diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/contents/DatasourceContent.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/contents/DatasourceContent.java index 3531a44..02589ac 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/contents/DatasourceContent.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/contents/DatasourceContent.java @@ -1,9 +1,9 @@ package com.zhiLian.vehicle.datasource.contents; /** - * @author DongZl - * @description: 数据源常量 - * @Date 2023-8-1 上午 11:02 + * BingRui.Hou + * 数据源常量 + * */ public class DatasourceContent { diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/DataSourceInfo.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/DataSourceInfo.java index 6b3428c..3623493 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/DataSourceInfo.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/DataSourceInfo.java @@ -11,9 +11,9 @@ import static com.zhiLian.vehicle.datasource.contents.DatasourceContent.*; /** - * @author DongZl - * @description: 数据源实体类 - * @Date 2023-8-1 上午 11:15 + * BingRui.Hou + * 数据源实体类 + * */ @Data @Builder diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java deleted file mode 100644 index 0841a37..0000000 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.zhiLian.vehicle.datasource.domain; - - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * BingRui.Hou - * - * @Description 描述 - * @ClassName EntInfo - * @Date 2024/06/04 14:34 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class EntInfo { - private String entCode; - - //ip - private String ip; - - //端口 - private Integer port; - -} diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/Entinfo.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/Entinfo.java new file mode 100644 index 0000000..0cc5422 --- /dev/null +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/Entinfo.java @@ -0,0 +1,44 @@ +package com.zhiLian.vehicle.datasource.domain; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zhiLian.common.core.annotation.Excel; +import com.zhiLian.common.core.web.domain.BaseEntity; +import lombok.*; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; + +/** + * BingRui.Hou + * + * @Description 描述 + * EntInfo + * @Date 2024/06/04 14:34 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Entinfo extends BaseEntity implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 数据源key */ + @Excel(name = "数据源key") + private String entCode; + + /** 数据源ip */ + @Excel(name = "数据源ip") + private String ip; + + /** 数据源端口 */ + @Excel(name = "数据源端口") + private Integer port; + + /** 数据源ID */ + private Long id; + + +} diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java index ac0df69..0fd1384 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java @@ -13,9 +13,9 @@ import javax.annotation.Resource; import java.util.Map; /** - * @Description: 数据源工具类 - * @Author Dongzl - * @Date 2022/8/18 17:20 + * 数据源工具类 + * BingRui.Hou + * * */ @Slf4j diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/domain/Vehicle.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/domain/Vehicle.java index 100626b..9ff39f5 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/domain/Vehicle.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/domain/Vehicle.java @@ -59,8 +59,8 @@ public class Vehicle extends BaseEntity private Long batteryNumber; /** 企业ID */ - @Excel(name = "企业ID") - private Long businessId; +// @Excel(name = "企业ID") +// private Long businessId; @Excel(name="围栏组ID") private Long groupId; diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/VehicleServiceImpl.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/VehicleServiceImpl.java index 8d9a5c3..f30dc92 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/VehicleServiceImpl.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/VehicleServiceImpl.java @@ -66,7 +66,7 @@ public class VehicleServiceImpl extends ServiceImpl if (user.getUserType().equals("00")) { return vehicleMapper.selectVehicleList(vehicle); } - vehicle.setBusinessId(Long.valueOf(user.getUserType())); +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); List vehicles = vehicleMapper.selectVehicleList(vehicle); // vehicles.forEach(vehicle1 -> { // Result result = remoteFileService.getInfo(vehicle1.getId()); @@ -86,9 +86,9 @@ public class VehicleServiceImpl extends ServiceImpl @Override public int insertVehicle(Vehicle vehicle) { - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); - vehicle.setBusinessId(Long.valueOf(user.getUserType())); +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); vehicle.setCreateTime(DateUtils.getNowDate()); return vehicleMapper.insertVehicle(vehicle); } @@ -104,7 +104,7 @@ public class VehicleServiceImpl extends ServiceImpl { LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); - vehicle.setBusinessId(Long.valueOf(user.getUserType())); +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); vehicle.setCreateTime(DateUtils.getNowDate()); vehicle.setUpdateTime(DateUtils.getNowDate()); return vehicleMapper.updateVehicle(vehicle); diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/bootstrap.yml b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/bootstrap.yml index f16ef73..30dff03 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/bootstrap.yml +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/bootstrap.yml @@ -4,6 +4,8 @@ server: # Spring spring: + main: + allow-circular-references: true application: # 应用名称 name: zhiLian-vehicle diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml index 6f97340..7648c9c 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml @@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -23,7 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, number,group_id, type_id, electonic_id, motor, battery, motor_number, battery_number, business_id, remark, create_by, create_time, update_by, update_time from vehicle + select id, number,group_id, type_id, electonic_id, motor, battery, motor_number, battery_number, remark, create_by, create_time, update_by, update_time from vehicle @@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" battery, motor_number, battery_number, - business_id, + remark, create_by, create_time, @@ -75,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{battery}, #{motorNumber}, #{batteryNumber}, - #{businessId}, + #{remark}, #{createBy}, #{createTime}, @@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" battery = #{battery}, motor_number = #{motorNumber}, battery_number = #{batteryNumber}, - business_id = #{businessId}, + remark = #{remark}, create_by = #{createBy}, create_time = #{createTime},