Commit f7e9fc6c authored by Gwofoo's avatar Gwofoo

Merge branch 'origin_develop_refactor' into origin_develop

parents 714e247d c1cfedfc
package com.yeejoin.amos.api.tool.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
/**
* 配置多个数据源
* @author Gary.Li
* @date 2023/12/14
*/
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dataSource-amos-studio")
@ConfigurationProperties(prefix="spring.second-datasource")
public DataSource secondDataSource() {
return DataSourceBuilder.create().build();
}
}
\ No newline at end of file
package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.service.LoginForwardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.doc.TycloudResource;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.ServletException;
import java.io.IOException;
/**
* @author Gary.Li
* @date 2023/12/18
*/
@Controller
@TycloudResource(module = "atl", value = "dataApi")
@Api(tags = "场景案例跳转")
public class LoginForwardResource {
@Autowired
LoginForwardService loginForwardService;
@RequestMapping("/forward")
@ApiOperation(value = "获取场景大屏点击后的登录token")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ResponseBody
public ResponseModel<String> getSceneLoginToken(){
return ResponseHelper.buildResponse(loginForwardService.querySceneLoginToken());
}
}
package com.yeejoin.amos.api.tool.face.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
/**
* @author Gary.Li
* @date 2023/12/14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MorphicWidgetGroupModel", description = "")
public class MorphicWidgetGroupModel extends BaseEntity {
@ApiModelProperty(value = "父节点id")
private String parentId;
@ApiModelProperty(value = "设计器名称")
private String designerName;
@ApiModelProperty(value = "设计器类型")
private String designerType;
}
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.MorphicWidgetGroup;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MorphicWidgetGroupMapper extends BaseMapper<MorphicWidgetGroup> {
}
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.orm.entity.ToolLibrary;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface ToolLibraryMapper extends BaseMapper<ToolLibrary> {
// 参考
// @Select("select * from amos_tool_template" +
// " order by ${miniSences} ${way}")
// List<AmosToolTemplateModel> listAll(@Param("miniSences") String miniSences,
// @Param("way") String way);
}
package com.yeejoin.amos.api.tool.face.orm.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
/**
* @author Gary.Li
* @date 2023/12/14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("morphic_widget_group")
public class MorphicWidgetGroup extends BaseEntity {
/**
* 父级id
*/
@TableField("parent")
private Long parentId;
/**
* 设计器名称
*/
@TableField("display_name")
private String designerName;
/**
* 设计器类型
*/
@TableField("DESIGNER_TYPE")
private String designerType;
}
package com.yeejoin.amos.api.tool.face.orm.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* @author Gary.Li
* @date 2023/12/18
*/
@Data
@AllArgsConstructor
public class SceneCasesLoginRequest {
String deviceId;
String loginId;
String password;
boolean remembered;
}
......@@ -31,5 +31,4 @@ public class ToolLibrary extends BaseEntity{
@TableField("DESIGNER_TYPE")
private String designerType;
}
\ No newline at end of file
......@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.sql.DataSource;
import java.sql.*;
import java.util.*;
......@@ -22,20 +23,18 @@ public class DatabaseNameListService extends BaseService<DataBaseNameListModel,
@Autowired
private DataBaseNameListMapper dataBaseNameListMapper;
@Autowired
private DataSource dataSource;
/**
* 分页查询
*/
public Page<DataBaseNameListModel> queryForDataBasePage(Page<DataBaseNameListModel> page, Long parentId, int current, int size) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
DatabaseConnectionModel dataBaseConnectionModel = databaseConnectionService.queryBySeq(parentId);
String ip = dataBaseConnectionModel.getIp();
String port = dataBaseConnectionModel.getPort();
String url = "jdbc:mysql://" + ip + ":" + port + " ";
String user = "root";
String passWord = "Yeejoin@2020";
String sql = "show databases";
Connection connection = DriverManager.getConnection(url, user, passWord);
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
String sql = "show databases";
ResultSet rs = statement.executeQuery(sql);
List<DataBaseNameListModel> list = new ArrayList<>();
long result = 1;
......
package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.orm.entity.SceneCasesLoginRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
* @author Gary.Li
* @date 2023/12/20
*/
@Service
public class LoginForwardService {
@Autowired
RestTemplate restTemplate;
public String querySceneLoginToken() {
String loginUrl = "http://36.40.66.175:8089/privilege/v1/auth/dual/idpassword";
String loginId = "yeejoin_xl";
String plainPwd = "a1234560";
String encryptedPwd = "AC286A35E74D2DD2B09873DEA7813245";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 自定义标头
headers.add("Product", "AMOS_STUDIO_WEB");
SceneCasesLoginRequest sceneCasesLoginRequest = new SceneCasesLoginRequest("1699861158791_4736F10B-37AA-493F-9A50-80C6A720BAB9",
loginId, encryptedPwd, false);
HttpEntity<SceneCasesLoginRequest> entity = new HttpEntity<>(sceneCasesLoginRequest, headers);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(loginUrl, entity, String.class);
String resBody = responseEntity.getBody();
if (resBody == null) {
return "fail-to-get-token";
}
int start = resBody.indexOf("\"token\":\"") + 9;
if (start == -1 + 9) {
return "fail-to-get-token";
}
int end = start + 36;
return resBody.substring(start, end);
}
}
#DB properties:
# jdbc_config
spring.datasource.url=jdbc:mysql://172.16.3.18:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=Yeejoin@2020
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......@@ -13,6 +13,21 @@ spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
# second-datasource amos_studio
spring.second-datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_studio?allowMultiQueries=true
spring.second-datasource.username=root
spring.second-datasource.password=Yeejoin@2020
spring.second-datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.second-datasource.type=com.zaxxer.hikari.HikariDataSource
spring.second-datasource.hikari.minimum-idle=3
spring.second-datasource.hikari.maximum-pool-size=10
spring.second-datasource.hikari.auto-commit=true
spring.second-datasource.hikari.idle-timeout=30000
spring.second-datasource.hikari.pool-name=DatebookHikariCP
spring.second-datasource.hikari.max-lifetime=1800000
spring.second-datasource.hikari.connection-timeout=30000
spring.second-datasource.hikari.connection-test-query=SELECT 1
#eureka
eureka.instance.hostname=172.16.3.18
......
#DB properties:
# jdbc_config
spring.datasource.url=jdbc:mysql://172.16.3.18:3306/amos_tool_library?allowMultiQueries=true
#spring.datasource.url=jdbc:mysql://172.16.3.19:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=Yeejoin@2020
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......@@ -14,6 +13,20 @@ spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
# second-datasource amos_studio
spring.second-datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_studio?allowMultiQueries=true
spring.second-datasource.username=root
spring.second-datasource.password=Yeejoin@2020
spring.second-datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.second-datasource.type=com.zaxxer.hikari.HikariDataSource
spring.second-datasource.hikari.minimum-idle=3
spring.second-datasource.hikari.maximum-pool-size=10
spring.second-datasource.hikari.auto-commit=true
spring.second-datasource.hikari.idle-timeout=30000
spring.second-datasource.hikari.pool-name=DatebookHikariCP
spring.second-datasource.hikari.max-lifetime=1800000
spring.second-datasource.hikari.connection-timeout=30000
spring.second-datasource.hikari.connection-test-query=SELECT 1
#eureka
eureka.instance.hostname=172.16.3.18
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment