Commit 8d7c809a authored by hkl's avatar hkl

feat:1.代码提交

parent 634df7bc
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>jeecg-system-api</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>3.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-system-cloud-api</artifactId>
<dependencies>
<!-- feign -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package org.jeecg.common.system.api.factory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.api.fallback.SysBaseAPIFallback;
import org.springframework.stereotype.Component;
/**
* @Description: SysBaseAPIFallbackFactory
* @author: jeecg-boot
*/
@Component
public class SysBaseAPIFallbackFactory implements FallbackFactory<ISysBaseAPI> {
@Override
public ISysBaseAPI create(Throwable throwable) {
SysBaseAPIFallback fallback = new SysBaseAPIFallback();
fallback.setCause(throwable);
return fallback;
}
}
\ No newline at end of file
package org.jeecg.common.system.api.fallback;
import com.alibaba.fastjson.JSONObject;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.dto.DataLogDTO;
import org.jeecg.common.api.dto.OnlineAuthDTO;
import org.jeecg.common.api.dto.message.*;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.vo.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 进入fallback的方法 检查是否token未设置
* @author: jeecg-boot
*/
@Slf4j
public class SysBaseAPIFallback implements ISysBaseAPI {
@Setter
private Throwable cause;
@Override
public void sendSysAnnouncement(MessageDTO message) {
log.error("发送消息失败 {}", cause);
}
@Override
public void sendBusAnnouncement(BusMessageDTO message) {
log.error("发送消息失败 {}", cause);
}
@Override
public void sendTemplateAnnouncement(TemplateMessageDTO message) {
log.error("发送消息失败 {}", cause);
}
@Override
public void sendBusTemplateAnnouncement(BusTemplateMessageDTO message) {
log.error("发送消息失败 {}", cause);
}
@Override
public String parseTemplateByCode(TemplateDTO templateDTO) {
log.error("通过模板获取消息内容失败 {}", cause);
return null;
}
@Override
public LoginUser getUserById(String id) {
return null;
}
@Override
public List<String> getRolesByUsername(String username) {
return null;
}
@Override
public List<String> getDepartIdsByUsername(String username) {
return null;
}
@Override
public List<String> getDepartNamesByUsername(String username) {
return null;
}
@Override
public List<DictModel> queryDictItemsByCode(String code) {
return null;
}
@Override
public List<DictModel> queryEnableDictItemsByCode(String code) {
return null;
}
@Override
public List<DictModel> queryAllDict() {
log.error("fegin接口queryAllDict失败:"+cause.getMessage(), cause);
return null;
}
@Override
public List<SysCategoryModel> queryAllSysCategory() {
return null;
}
@Override
public List<DictModel> queryTableDictItemsByCode(String table, String text, String code) {
return null;
}
@Override
public List<DictModel> queryAllDepartBackDictModel() {
return null;
}
@Override
public void updateSysAnnounReadFlag(String busType, String busId) {
}
@Override
public List<DictModel> queryFilterTableDictInfo(String table, String text, String code, String filterSql) {
return null;
}
@Override
public List<String> queryTableDictByKeys(String table, String text, String code, String[] keyArray) {
log.error("queryTableDictByKeys查询失败 {}", cause);
return null;
}
@Override
public List<ComboModel> queryAllUserBackCombo() {
return null;
}
@Override
public JSONObject queryAllUser(String userIds, Integer pageNo, int pageSize) {
return null;
}
@Override
public List<ComboModel> queryAllRole(String[] roleIds) {
log.error("获取角色信息失败 {}", cause);
return null;
}
@Override
public List<String> getRoleIdsByUsername(String username) {
return null;
}
@Override
public String getDepartIdsByOrgCode(String orgCode) {
return null;
}
@Override
public List<SysDepartModel> getAllSysDepart() {
return null;
}
@Override
public DictModel getParentDepartId(String departId) {
return null;
}
@Override
public List<String> getDeptHeadByDepId(String deptId) {
return null;
}
@Override
public void sendWebSocketMsg(String[] userIds, String cmd) {
}
@Override
public List<LoginUser> queryAllUserByIds(String[] userIds) {
return null;
}
@Override
public void meetingSignWebsocket(String userId) {
}
@Override
public List<LoginUser> queryUserByNames(String[] userNames) {
return null;
}
@Override
public Set<String> getUserRoleSet(String username) {
return null;
}
@Override
public Set<String> getUserPermissionSet(String username) {
return null;
}
@Override
public boolean hasOnlineAuth(OnlineAuthDTO onlineAuthDTO) {
return false;
}
@Override
public SysDepartModel selectAllById(String id) {
return null;
}
@Override
public List<String> queryDeptUsersByUserId(String userId) {
return null;
}
@Override
public Set<String> queryUserRoles(String username) {
return null;
}
@Override
public Set<String> queryUserAuths(String username) {
return null;
}
@Override
public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) {
return null;
}
@Override
public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode) {
return null;
}
@Override
public LoginUser getUserByName(String username) {
log.error("jeecg-system服务节点不通,导致获取登录用户信息失败: " + cause.getMessage(), cause);
return null;
}
@Override
public String translateDictFromTable(String table, String text, String code, String key) {
return null;
}
@Override
public String translateDict(String code, String key) {
return null;
}
@Override
public List<SysPermissionDataRuleModel> queryPermissionDataRule(String component, String requestPath, String username) {
return null;
}
@Override
public SysUserCacheInfo getCacheUser(String username) {
log.error("获取用户信息失败 {}", cause);
return null;
}
@Override
public List<JSONObject> queryUsersByUsernames(String usernames) {
return null;
}
@Override
public List<JSONObject> queryUsersByIds(String ids) {
return null;
}
@Override
public List<JSONObject> queryDepartsByOrgcodes(String orgCodes) {
return null;
}
@Override
public List<JSONObject> queryDepartsByIds(String ids) {
return null;
}
@Override
public Map<String, List<DictModel>> translateManyDict(String dictCodes, String keys) {
return null;
}
@Override
public List<DictModel> translateDictFromTableByKeys(String table, String text, String code, String keys) {
return null;
}
@Override
public void sendTemplateMessage(MessageDTO message) {
}
@Override
public String getTemplateContent(String code) {
return null;
}
@Override
public void saveDataLog(DataLogDTO dataLogDto) {
}
@Override
public void sendEmailMsg(String email,String title,String content) {
}
@Override
public List<Map> getDeptUserByOrgCode(String orgCode) {
return null;
}
// @Override
// public List<JSONObject> queryDepartsByOrgIds(String ids) {
// return null;
// }
@Override
public List<String> loadCategoryDictItem(String ids) {
return null;
}
@Override
public List<String> loadDictItem(String dictCode, String keys) {
return null;
}
@Override
public List<DictModel> getDictItems(String dictCode) {
return null;
}
@Override
public Map<String, List<DictModel>> getManyDictItems(List<String> dictCodeList) {
return null;
}
@Override
public List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageSize) {
return null;
}
@Override
public void addSysFiles(SysFilesModel sysFilesModel) {
}
@Override
public String getFileUrl(String fileId) {
return null;
}
@Override
public void updateAvatar(LoginUser loginUser) { }
@Override
public void sendAppChatSocket(String userId) {
}
}
//package org.jeecg.config;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//import java.util.SortedMap;
//
//import javax.servlet.http.HttpServletRequest;
//
//import org.jeecg.common.config.mqtoken.UserTokenContext;
//import org.jeecg.common.constant.CommonConstant;
//import org.jeecg.common.util.DateUtils;
//import org.jeecg.common.util.PathMatcherUtil;
//import org.jeecg.config.sign.interceptor.SignAuthConfiguration;
//import org.jeecg.config.sign.util.HttpUtils;
//import org.jeecg.config.sign.util.SignUtil;
//import org.springframework.beans.factory.ObjectFactory;
//import org.springframework.boot.autoconfigure.AutoConfigureBefore;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
//import org.springframework.cloud.openfeign.FeignAutoConfiguration;
//import org.springframework.cloud.openfeign.support.SpringDecoder;
//import org.springframework.cloud.openfeign.support.SpringEncoder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Primary;
//import org.springframework.context.annotation.Scope;
//import org.springframework.http.MediaType;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.serializer.SerializerFeature;
//import com.alibaba.fastjson.support.config.FastJsonConfig;
//import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
//import com.alibaba.fastjson.support.springfox.SwaggerJsonSerializer;
//
//import feign.Feign;
//import feign.Logger;
//import feign.RequestInterceptor;
//import feign.codec.Decoder;
//import feign.codec.Encoder;
//import feign.form.spring.SpringFormEncoder;
//import lombok.extern.slf4j.Slf4j;
//
///**
// * @Description: FeignConfig
// * @author: JeecgBoot
// */
//@ConditionalOnClass(Feign.class)
//@AutoConfigureBefore(FeignAutoConfiguration.class)
//@Slf4j
//@Configuration
//public class FeignConfig {
//
// /**
// * 设置feign header参数
// * 【X_ACCESS_TOKEN】【X_SIGN】【X_TIMESTAMP】
// * @return
// */
// @Bean
// public RequestInterceptor requestInterceptor() {
// return requestTemplate -> {
// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// if (null != attributes) {
// HttpServletRequest request = attributes.getRequest();
// log.debug("Feign request: {}", request.getRequestURI());
// // 将token信息放入header中
// String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
// if(token==null || "".equals(token)){
// token = request.getParameter("token");
// }
// log.info("Feign Login Request token: {}", token);
// requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
// }else{
// //解决后台任务、MQ中调用feign接口,无会话token的问题
// String token = UserTokenContext.getToken();
// log.info("Feign No Login token: {}", token);
// requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
// }
//
// //================================================================================================================
// //针对特殊接口,进行加签验证 ——根据URL地址过滤请求 【字典表参数签名验证】
// if (PathMatcherUtil.matches(Arrays.asList(SignAuthConfiguration.SIGN_URL_LIST),requestTemplate.path())) {
// try {
// log.info("============================ [begin] fegin api url ============================");
// log.info(requestTemplate.path());
// log.info(requestTemplate.method());
// String queryLine = requestTemplate.queryLine();
// String questionMark="?";
// if(queryLine!=null && queryLine.startsWith(questionMark)){
// queryLine = queryLine.substring(1);
// }
// log.info(queryLine);
// if(requestTemplate.body()!=null){
// log.info(new String(requestTemplate.body()));
// }
// SortedMap<String, String> allParams = HttpUtils.getAllParams(requestTemplate.path(),queryLine,requestTemplate.body(),requestTemplate.method());
// String sign = SignUtil.getParamsSign(allParams);
// log.info(" Feign request params sign: {}",sign);
// log.info("============================ [end] fegin api url ============================");
// requestTemplate.header(CommonConstant.X_SIGN, sign);
// requestTemplate.header(CommonConstant.X_TIMESTAMP, String.valueOf(System.currentTimeMillis()));
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// //================================================================================================================
// };
// }
//
//
//
// /**
// * Feign 客户端的日志记录,默认级别为NONE
// * Logger.Level 的具体级别如下:
// * NONE:不记录任何信息
// * BASIC:仅记录请求方法、URL以及响应状态码和执行时间
// * HEADERS:除了记录 BASIC级别的信息外,还会记录请求和响应的头信息
// * FULL:记录所有请求与响应的明细,包括头信息、请求体、元数据
// */
// @Bean
// Logger.Level feignLoggerLevel() {
// return Logger.Level.FULL;
// }
//
// /**
// * Feign支持文件上传
// * @param messageConverters
// * @return
// */
// @Bean
// @Primary
// @Scope("prototype")
// public Encoder multipartFormEncoder(ObjectFactory<HttpMessageConverters> messageConverters) {
// return new SpringFormEncoder(new SpringEncoder(messageConverters));
// }
//
// // update-begin--Author:sunjianlei Date:20210604 for: 给 Feign 添加 FastJson 的解析支持 ----------
// /**
// * 给 Feign 添加 FastJson 的解析支持
// */
// @Bean
// public Encoder feignEncoder() {
// return new SpringEncoder(feignHttpMessageConverter());
// }
//
// @Bean("apiFeignDecoder")
// public Decoder feignDecoder() {
// return new SpringDecoder(feignHttpMessageConverter());
// }
//
// /**
// * 设置解码器为fastjson
// *
// * @return
// */
// private ObjectFactory<HttpMessageConverters> feignHttpMessageConverter() {
// final HttpMessageConverters httpMessageConverters = new HttpMessageConverters(this.getFastJsonConverter());
// return () -> httpMessageConverters;
// }
//
// private FastJsonHttpMessageConverter getFastJsonConverter() {
// FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
//
// List<MediaType> supportedMediaTypes = new ArrayList<>();
// MediaType mediaTypeJson = MediaType.valueOf(MediaType.APPLICATION_JSON_VALUE);
// supportedMediaTypes.add(mediaTypeJson);
// converter.setSupportedMediaTypes(supportedMediaTypes);
// FastJsonConfig config = new FastJsonConfig();
// config.getSerializeConfig().put(JSON.class, new SwaggerJsonSerializer());
// config.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
// converter.setFastJsonConfig(config);
//
// return converter;
// }
// // update-end--Author:sunjianlei Date:20210604 for: 给 Feign 添加 FastJson 的解析支持 ----------
//
//}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>jeecg-system-api</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>3.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-system-local-api</artifactId>
</project>
\ No newline at end of file
package org.jeecg.common.system.api;
import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.api.CommonAPI;
import org.jeecg.common.api.dto.DataLogDTO;
import org.jeecg.common.api.dto.OnlineAuthDTO;
import org.jeecg.common.api.dto.message.*;
import org.jeecg.common.system.vo.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @Description 底层共通业务API,提供其他独立模块调用
* @Author scott
* @Date 2019-4-20
* @Version V1.0
*/
public interface ISysBaseAPI extends CommonAPI {
/**
* 1发送系统消息
* @param message 使用构造器赋值参数 如果不设置category(消息类型)则默认为2 发送系统消息
*/
void sendSysAnnouncement(MessageDTO message);
/**
* 2发送消息 附带业务参数
* @param message 使用构造器赋值参数
*/
void sendBusAnnouncement(BusMessageDTO message);
/**
* 3通过模板发送消息
* @param message 使用构造器赋值参数
*/
void sendTemplateAnnouncement(TemplateMessageDTO message);
/**
* 4通过模板发送消息 附带业务参数
* @param message 使用构造器赋值参数
*/
void sendBusTemplateAnnouncement(BusTemplateMessageDTO message);
/**
* 5通过消息中心模板,生成推送内容
* @param templateDTO 使用构造器赋值参数
* @return
*/
String parseTemplateByCode(TemplateDTO templateDTO);
//update-begin---author:taoyan ---date:20220705 for:支持自定义推送类型,邮件、钉钉、企业微信、系统消息-----------
/**
* 发送模板消息【新,支持自定义推送类型】
* @param message
*/
void sendTemplateMessage(MessageDTO message);
/**
* 根据模板编码获取模板内容【新,支持自定义推送类型】
* @param templateCode
* @return
*/
String getTemplateContent(String templateCode);
//update-begin---author:taoyan ---date:20220705 for:支持自定义推送类型,邮件、钉钉、企业微信、系统消息-----------
/**
* 6根据用户id查询用户信息
* @param id
* @return
*/
LoginUser getUserById(String id);
/**
* 7通过用户账号查询角色集合
* @param username
* @return
*/
List<String> getRolesByUsername(String username);
/**
* 8通过用户账号查询部门集合
* @param username
* @return 部门 id
*/
List<String> getDepartIdsByUsername(String username);
/**
* 9通过用户账号查询部门 name
* @param username
* @return 部门 name
*/
List<String> getDepartNamesByUsername(String username);
/** 11查询所有的父级字典,按照create_time排序
* @return List<DictModel> 字典集合
*/
public List<DictModel> queryAllDict();
/**
* 12查询所有分类字典
* @return
*/
public List<SysCategoryModel> queryAllSysCategory();
/**
* 14查询所有部门 作为字典信息 id -->value,departName -->text
* @return
*/
public List<DictModel> queryAllDepartBackDictModel();
/**
* 15根据业务类型及业务id修改消息已读
* @param busType
* @param busId
*/
public void updateSysAnnounReadFlag(String busType, String busId);
/**
* 16查询表字典 支持过滤数据
* @param table
* @param text
* @param code
* @param filterSql
* @return
*/
public List<DictModel> queryFilterTableDictInfo(String table, String text, String code, String filterSql);
/**
* 17查询指定table的 text code 获取字典,包含text和value
* @param table
* @param text
* @param code
* @param keyArray
* @return
*/
@Deprecated
public List<String> queryTableDictByKeys(String table, String text, String code, String[] keyArray);
/**
* 18查询所有用户 返回ComboModel
* @return
*/
public List<ComboModel> queryAllUserBackCombo();
/**
* 19分页查询用户 返回JSONObject
* @param userIds 多个用户id
* @param pageNo 当前页数
* @param pageSize 每页显示条数
* @return
*/
public JSONObject queryAllUser(String userIds, Integer pageNo, Integer pageSize);
/**
* 20获取所有角色
* @return
*/
public List<ComboModel> queryAllRole();
/**
* 21获取所有角色 带参
* @param roleIds 默认选中角色
* @return
*/
public List<ComboModel> queryAllRole(String[] roleIds );
/**
* 22通过用户账号查询角色Id集合
* @param username
* @return
*/
public List<String> getRoleIdsByUsername(String username);
/**
* 23通过部门编号查询部门id
* @param orgCode
* @return
*/
public String getDepartIdsByOrgCode(String orgCode);
/**
* 24查询所有部门
* @return
*/
public List<SysDepartModel> getAllSysDepart();
/**
* 25查找父级部门
* @param departId
* @return
*/
DictModel getParentDepartId(String departId);
/**
* 26根据部门Id获取部门负责人
* @param deptId
* @return
*/
public List<String> getDeptHeadByDepId(String deptId);
/**
* 27给指定用户发消息
* @param userIds
* @param cmd
*/
public void sendWebSocketMsg(String[] userIds, String cmd);
/**
* 28根据id获取所有参与用户
* @param userIds 多个用户id
* @return
*/
public List<LoginUser> queryAllUserByIds(String[] userIds);
/**
* 29将会议签到信息推动到预览
* userIds
* @return
* @param userId
*/
void meetingSignWebsocket(String userId);
/**
* 30根据name获取所有参与用户
* @param userNames 多个用户账户
* @return
*/
List<LoginUser> queryUserByNames(String[] userNames);
/**
* 31获取用户的角色集合
* @param username
* @return
*/
Set<String> getUserRoleSet(String username);
/**
* 32获取用户的权限集合
* @param username
* @return
*/
Set<String> getUserPermissionSet(String username);
/**
* 33判断是否有online访问的权限
* @param onlineAuthDTO
* @return
*/
boolean hasOnlineAuth(OnlineAuthDTO onlineAuthDTO);
/**
* 34通过部门id获取部门全部信息
* @param id 部门id
* @return SysDepartModel对象
*/
SysDepartModel selectAllById(String id);
/**
* 35根据用户id查询用户所属公司下所有用户ids
* @param userId
* @return
*/
List<String> queryDeptUsersByUserId(String userId);
/**
* 36根据多个用户账号(逗号分隔),查询返回多个用户信息
* @param usernames
* @return
*/
List<JSONObject> queryUsersByUsernames(String usernames);
/**
* 37根据多个用户ID(逗号分隔),查询返回多个用户信息
* @param ids
* @return
*/
List<JSONObject> queryUsersByIds(String ids);
/**
* 38根据多个部门编码(逗号分隔),查询返回多个部门信息
* @param orgCodes
* @return
*/
List<JSONObject> queryDepartsByOrgcodes(String orgCodes);
/**
* 39根据多个部门id(逗号分隔),查询返回多个部门信息
* @param ids
* @return
*/
List<JSONObject> queryDepartsByIds(String ids);
/**
* 40发送邮件消息
* @param email
* @param title
* @param content
*/
void sendEmailMsg(String email,String title,String content);
/**
* 41 获取公司下级部门和公司下所有用户信息
* @param orgCode
* @return List<Map>
*/
List<Map> getDeptUserByOrgCode(String orgCode);
/**
* 查询分类字典翻译
* @param ids 多个分类字典id
* @return List<String>
*/
List<String> loadCategoryDictItem(String ids);
/**
* 根据字典code加载字典text
*
* @param dictCode 顺序:tableName,text,code
* @param keys 要查询的key
* @return
*/
List<String> loadDictItem(String dictCode, String keys);
/**
* 根据字典code查询字典项
*
* @param dictCode 顺序:tableName,text,code
* @param dictCode 要查询的key
* @return
*/
List<DictModel> getDictItems(String dictCode);
/**
* 根据多个字典code查询多个字典项
* @param dictCodeList
* @return key = dictCode ; value=对应的字典项
*/
Map<String, List<DictModel>> getManyDictItems(List<String> dictCodeList);
/**
* 【JSearchSelectTag下拉搜索组件专用接口】
* 大数据量的字典表 走异步加载 即前端输入内容过滤数据
*
* @param dictCode 字典code格式:table,text,code
* @param keyword 过滤关键字
* @param pageSize 分页条数
* @return
*/
List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageSize);
/**
* 新增数据日志
* @param dataLogDto
*/
void saveDataLog(DataLogDTO dataLogDto);
/**
* 添加文件到知识库
* @param sysFilesModel
*/
void addSysFiles(SysFilesModel sysFilesModel);
/**
* 通过文件路径获取文件id
* @param fileId
*/
String getFileUrl(String fileId);
/**
* 更新头像
* @param loginUser
*/
void updateAvatar(LoginUser loginUser);
/**
* 向app端 websocket推送聊天刷新消息
* @param userId
*/
void sendAppChatSocket(String userId);
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>jeecg-module-system</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>3.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-system-api</artifactId>
<packaging>pom</packaging>
<modules>
<module>jeecg-system-local-api</module>
<module>jeecg-system-cloud-api</module>
</modules>
<dependencies>
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-base-core</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
...@@ -29,7 +29,7 @@ import java.util.Arrays; ...@@ -29,7 +29,7 @@ import java.util.Arrays;
@RequestMapping("/deviceAsset/fastenerManagement") @RequestMapping("/deviceAsset/fastenerManagement")
@Api(tags = "资产管理-扣件管理") @Api(tags = "资产管理-扣件管理")
public class FastenerManagementController extends JeecgController<FastenerManagement, IFastenerManagementService> { public class FastenerManagementController extends JeecgController<FastenerManagement, IFastenerManagementService> {
@AutoLog(value = "资产管理-扣件管理 -分页列表查询") @AutoLog(value = "资产管理-扣件管理-分页列表查询")
@ApiOperation(value = "资产管理-道岔管理-分页列表查询", notes = "资产管理-道岔管理-分页列表查询") @ApiOperation(value = "资产管理-道岔管理-分页列表查询", notes = "资产管理-道岔管理-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<FastenerManagementVO>> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, public Result<IPage<FastenerManagementVO>> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
......
...@@ -2,24 +2,24 @@ package org.jeecg.modules.deviceAsset.controller; ...@@ -2,24 +2,24 @@ package org.jeecg.modules.deviceAsset.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.deviceAsset.dto.TrackBedManagementDTO; import org.jeecg.modules.deviceAsset.dto.TrackBedManagementDTO;
import org.jeecg.modules.deviceAsset.dto.VerticalCurveManagementDTO;
import org.jeecg.modules.deviceAsset.entity.TrackBedManagement; import org.jeecg.modules.deviceAsset.entity.TrackBedManagement;
import org.jeecg.modules.deviceAsset.entity.VerticalCurveManagement;
import org.jeecg.modules.deviceAsset.service.ITrackBedManagementService; import org.jeecg.modules.deviceAsset.service.ITrackBedManagementService;
import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO; import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO;
import org.jeecg.modules.deviceAsset.vo.VerticalCurveManagementVO;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.jeecg.common.system.base.controller.JeecgController;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
/** /**
* <p> * <p>
...@@ -85,4 +85,17 @@ public class TrackBedManagementController extends JeecgController<TrackBedManage ...@@ -85,4 +85,17 @@ public class TrackBedManagementController extends JeecgController<TrackBedManage
this.service.removeByIds(Arrays.asList(ids.split(","))); this.service.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@AutoLog(value = "资产管理-道床管理-查询列表")
@ApiOperation(value = "资产管理-道床管理-查询列表", notes = "资产管理-道床管理-查询列表")
@GetMapping(value = "/queryList")
public Result<List<TrackBedManagement>> queryList(@ApiParam(name = "区间id") String sectionId,
@ApiParam(name = "线别id") String lineAliasId) {
List<TrackBedManagement> listResult = this.service.lambdaQuery()
.eq(TrackBedManagement::getSectionId, sectionId)
.eq(TrackBedManagement::getLineAliasId, lineAliasId)
.list();
return Result.OK(listResult);
}
} }
package org.jeecg.modules.deviceAsset.dto; package org.jeecg.modules.deviceAsset.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
/** /**
* <p> * <p>
* 资产管理-曲线管理 * 资产管理-曲线管理
...@@ -20,19 +16,11 @@ import lombok.Setter; ...@@ -20,19 +16,11 @@ import lombok.Setter;
* @author hkl * @author hkl
* @since 2023-07-06 * @since 2023-07-06
*/ */
@Getter @Data
@Setter @ApiModel(value = "CurveManagementDTO对象", description = "资产管理-曲线管理")
public class CurveManagementDTO implements Serializable { public class CurveManagementDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String id;
@ApiModelProperty("曲线编号") @ApiModelProperty("曲线编号")
private String curveCode; private String curveCode;
@ApiModelProperty("备注")
private String remark;
} }
package org.jeecg.modules.deviceAsset.dto; package org.jeecg.modules.deviceAsset.dto;
import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;
@Data @Data
@ApiModel(value = "FastenerManagementDTO对象", description = "资产管理-扣件管理")
public class FastenerManagementDTO { public class FastenerManagementDTO {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String id;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建日期")
private Date createTime;
@ApiModelProperty("更新人")
private String updateBy;
@ApiModelProperty("更新时间")
@TableField("update_time")
private Date updateTime;
@ApiModelProperty("扣件编号") @ApiModelProperty("扣件编号")
@TableField("fastener_code")
private String fastenerCode; private String fastenerCode;
@ApiModelProperty("扣件类型")
@TableField("fastener_type")
private String fastenerType;
@ApiModelProperty("区间id")
@TableField("section_id")
private String sectionId;
@ApiModelProperty("线别id")
@TableField("line_alias_id")
private String lineAliasId;
@ApiModelProperty("起始里程")
@TableField("starting_mileage")
private BigDecimal startingMileage;
@ApiModelProperty("结束里程")
@TableField("end_mileage")
private BigDecimal endMileage;
@ApiModelProperty("扣件长度")
@TableField("fastener_len")
private BigDecimal fastenerLen;
@ApiModelProperty("备注")
@TableField("remark")
private String remark;
} }
...@@ -26,11 +26,6 @@ public class SignBoardManagementDTO implements Serializable { ...@@ -26,11 +26,6 @@ public class SignBoardManagementDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableField("id")
private String id;
@ApiModelProperty("轨行区标识牌编号") @ApiModelProperty("轨行区标识牌编号")
@TableField("sign_board_code")
private String signBoardCode; private String signBoardCode;
} }
...@@ -31,11 +31,5 @@ public class TrackBedManagementDTO implements Serializable { ...@@ -31,11 +31,5 @@ public class TrackBedManagementDTO implements Serializable {
@ApiModelProperty("道床编号") @ApiModelProperty("道床编号")
private String trackBedCode; private String trackBedCode;
@ApiModelProperty("道床类型")
private String trackBedType;
@ApiModelProperty("备注")
private String remark;
} }
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
SELECT SELECT
t1.*, t1.*,
t2.light_rail_name, t2.light_rail_name,
t2.light_rail_id,
t2.section_name, t2.section_name,
(SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id limit 1) line_alias_name (SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id limit 1) line_alias_name
FROM FROM
......
...@@ -6,10 +6,16 @@ ...@@ -6,10 +6,16 @@
SELECT SELECT
t1.*, t1.*,
t2.light_rail_name, t2.light_rail_name,
t2.light_rail_id,
t2.section_name, t2.section_name,
( SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id LIMIT 1 ) line_alias_name ( SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id LIMIT 1 ) line_alias_name
FROM FROM
t_da_sign_board_management t1 t_da_sign_board_management t1
LEFT JOIN t_sn_subway_section t2 ON t1.section_id = t2.id LEFT JOIN t_sn_subway_section t2 ON t1.section_id = t2.id
<where>
<if test="dto.signBoardCode != null and dto.signBoardCode != ''">
AND t1.sign_board_code like concat('%',#{dto.signBoardCode},'%')
</if>
</where>
</select> </select>
</mapper> </mapper>
...@@ -3,7 +3,19 @@ ...@@ -3,7 +3,19 @@
<mapper namespace="org.jeecg.modules.deviceAsset.mapper.TrackBedManagementMapper"> <mapper namespace="org.jeecg.modules.deviceAsset.mapper.TrackBedManagementMapper">
<select id="queryPageList" resultType="org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO"> <select id="queryPageList" resultType="org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO">
select * SELECT
from t_da_track_bed_management t1.*,
t2.light_rail_name,
t2.light_rail_id,
t2.section_name,
( SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id LIMIT 1 ) line_alias_name
FROM
t_da_track_bed_management t1
LEFT JOIN t_sn_subway_section t2 ON t1.section_id = t2.id
<where>
<if test="dto.trackBedCode != null and dto.trackBedCode != ''">
AND t1.track_bed_code like concat('%',#{dto.trackBedCode},'%')
</if>
</where>
</select> </select>
</mapper> </mapper>
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
SELECT SELECT
t1.*, t1.*,
t2.light_rail_name, t2.light_rail_name,
t2.light_rail_id,
t2.section_name, t2.section_name,
( SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id LIMIT 1 ) line_alias_name ( SELECT line_alias_name FROM t_sn_line_alias WHERE id = t1.line_alias_id LIMIT 1 ) line_alias_name
FROM FROM
......
...@@ -6,6 +6,8 @@ import org.jeecg.modules.deviceAsset.dto.TrackBedManagementDTO; ...@@ -6,6 +6,8 @@ import org.jeecg.modules.deviceAsset.dto.TrackBedManagementDTO;
import org.jeecg.modules.deviceAsset.entity.TrackBedManagement; import org.jeecg.modules.deviceAsset.entity.TrackBedManagement;
import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO; import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO;
import java.util.List;
/** /**
* <p> * <p>
* 资产管理-道床管理 服务类 * 资产管理-道床管理 服务类
...@@ -17,4 +19,6 @@ import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO; ...@@ -17,4 +19,6 @@ import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO;
public interface ITrackBedManagementService extends IService<TrackBedManagement> { public interface ITrackBedManagementService extends IService<TrackBedManagement> {
Page<TrackBedManagementVO> queryPageList(Page<TrackBedManagementVO> pageData, TrackBedManagementDTO dto); Page<TrackBedManagementVO> queryPageList(Page<TrackBedManagementVO> pageData, TrackBedManagementDTO dto);
List<TrackBedManagement> queryList();
} }
...@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO; import org.jeecg.modules.deviceAsset.vo.TrackBedManagementVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 资产管理-道床管理 服务实现类 * 资产管理-道床管理 服务实现类
...@@ -24,4 +26,9 @@ public class TrackBedManagementServiceImpl extends ServiceImpl<TrackBedManagemen ...@@ -24,4 +26,9 @@ public class TrackBedManagementServiceImpl extends ServiceImpl<TrackBedManagemen
public Page<TrackBedManagementVO> queryPageList(Page<TrackBedManagementVO> pageData, TrackBedManagementDTO dto) { public Page<TrackBedManagementVO> queryPageList(Page<TrackBedManagementVO> pageData, TrackBedManagementDTO dto) {
return this.baseMapper.queryPageList(pageData,dto); return this.baseMapper.queryPageList(pageData,dto);
} }
@Override
public List<TrackBedManagement> queryList() {
return null;
}
} }
...@@ -69,12 +69,15 @@ public class CurveManagementQueryVO implements Serializable { ...@@ -69,12 +69,15 @@ public class CurveManagementQueryVO implements Serializable {
@ApiModelProperty("超高H(mm)") @ApiModelProperty("超高H(mm)")
private BigDecimal superHigh; private BigDecimal superHigh;
@ApiModelProperty("区间id") @ApiModelProperty("线路Id")
private String sectionId; private String lightRailId;
@ApiModelProperty("线路名称") @ApiModelProperty("线路名称")
private String lightRailName; private String lightRailName;
@ApiModelProperty("区间id")
private String sectionId;
@ApiModelProperty("区间名称") @ApiModelProperty("区间名称")
private String sectionName; private String sectionName;
......
...@@ -34,6 +34,12 @@ public class FastenerManagementVO { ...@@ -34,6 +34,12 @@ public class FastenerManagementVO {
@ApiModelProperty("扣件类型") @ApiModelProperty("扣件类型")
private String fastenerType; private String fastenerType;
@ApiModelProperty("线路Id")
private String lightRailId;
@ApiModelProperty("线路名称")
private String lightRailName;
@ApiModelProperty("区间id") @ApiModelProperty("区间id")
private String sectionId; private String sectionId;
......
...@@ -47,12 +47,15 @@ public class SignBoardManagementVO implements Serializable { ...@@ -47,12 +47,15 @@ public class SignBoardManagementVO implements Serializable {
@ApiModelProperty("轨行区标识牌类型") @ApiModelProperty("轨行区标识牌类型")
private String signBoardType; private String signBoardType;
@ApiModelProperty("区间id") @ApiModelProperty("线路id")
private String sectionId; private String lightRailId;
@ApiModelProperty("线路名称") @ApiModelProperty("线路名称")
private String lightRailName; private String lightRailName;
@ApiModelProperty("区间id")
private String sectionId;
@ApiModelProperty("区间名称") @ApiModelProperty("区间名称")
private String sectionName; private String sectionName;
......
...@@ -46,12 +46,24 @@ public class TrackBedManagementVO implements Serializable { ...@@ -46,12 +46,24 @@ public class TrackBedManagementVO implements Serializable {
@ApiModelProperty("道床类型") @ApiModelProperty("道床类型")
private String trackBedType; private String trackBedType;
@ApiModelProperty("线路Id")
private String lightRailId;
@ApiModelProperty("线路名称")
private String lightRailName;
@ApiModelProperty("区间id") @ApiModelProperty("区间id")
private String sectionId; private String sectionId;
@ApiModelProperty("区间名称")
private String sectionName;
@ApiModelProperty("线别id") @ApiModelProperty("线别id")
private String lineAliasId; private String lineAliasId;
@ApiModelProperty("线别名称")
private String lineAliasName;
@ApiModelProperty("起始里程") @ApiModelProperty("起始里程")
private BigDecimal startingMileage; private BigDecimal startingMileage;
......
...@@ -44,12 +44,15 @@ public class VerticalCurveManagementVO implements Serializable { ...@@ -44,12 +44,15 @@ public class VerticalCurveManagementVO implements Serializable {
@ApiModelProperty("竖曲线编号") @ApiModelProperty("竖曲线编号")
private String verticalCurveCode; private String verticalCurveCode;
@ApiModelProperty("区间id") @ApiModelProperty("线路Id")
private String sectionId; private String lightRailId;
@ApiModelProperty("线路名称") @ApiModelProperty("线路名称")
private String lightRailName; private String lightRailName;
@ApiModelProperty("区间id")
private String sectionId;
@ApiModelProperty("区间名称") @ApiModelProperty("区间名称")
private String sectionName; private String sectionName;
......
package org.jeecg.modules.message.controller;
import java.util.Arrays;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.dto.message.MessageDTO;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.message.entity.MsgParams;
import org.jeecg.modules.message.entity.SysMessageTemplate;
import org.jeecg.modules.message.service.ISysMessageTemplateService;
import org.jeecg.modules.message.util.PushMsgUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
/**
* @Description: 消息模板
* @Author: jeecg-boot
* @Sate: 2019-04-09
* @Version: V1.0
*/
@Slf4j
@RestController
@RequestMapping("/sys/message/sysMessageTemplate")
public class SysMessageTemplateController extends JeecgController<SysMessageTemplate, ISysMessageTemplateService> {
@Autowired
private ISysMessageTemplateService sysMessageTemplateService;
@Autowired
private PushMsgUtil pushMsgUtil;
@Autowired
private ISysBaseAPI sysBaseApi;
/**
* 分页列表查询
*
* @param sysMessageTemplate
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/list")
public Result<?> queryPageList(SysMessageTemplate sysMessageTemplate, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
QueryWrapper<SysMessageTemplate> queryWrapper = QueryGenerator.initQueryWrapper(sysMessageTemplate, req.getParameterMap());
Page<SysMessageTemplate> page = new Page<SysMessageTemplate>(pageNo, pageSize);
IPage<SysMessageTemplate> pageList = sysMessageTemplateService.page(page, queryWrapper);
return Result.ok(pageList);
}
/**
* 添加
*
* @param sysMessageTemplate
* @return
*/
@PostMapping(value = "/add")
public Result<?> add(@RequestBody SysMessageTemplate sysMessageTemplate) {
sysMessageTemplateService.save(sysMessageTemplate);
return Result.ok("添加成功!");
}
/**
* 编辑
*
* @param sysMessageTemplate
* @return
*/
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody SysMessageTemplate sysMessageTemplate) {
sysMessageTemplateService.updateById(sysMessageTemplate);
return Result.ok("更新成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
sysMessageTemplateService.removeById(id);
return Result.ok("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.sysMessageTemplateService.removeByIds(Arrays.asList(ids.split(",")));
return Result.ok("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
SysMessageTemplate sysMessageTemplate = sysMessageTemplateService.getById(id);
return Result.ok(sysMessageTemplate);
}
/**
* 导出excel
*
* @param request
*/
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request,SysMessageTemplate sysMessageTemplate) {
return super.exportXls(request, sysMessageTemplate, SysMessageTemplate.class,"推送消息模板");
}
/**
* excel导入
*
* @param request
* @param response
* @return
*/
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SysMessageTemplate.class);
}
/**
* 发送消息
*/
@PostMapping(value = "/sendMsg")
public Result<SysMessageTemplate> sendMessage(@RequestBody MsgParams msgParams) {
Result<SysMessageTemplate> result = new Result<SysMessageTemplate>();
try {
MessageDTO md = new MessageDTO();
md.setToAll(false);
md.setTitle("消息发送测试");
md.setTemplateCode(msgParams.getTemplateCode());
md.setToUser(msgParams.getReceiver());
md.setType(msgParams.getMsgType());
String testData = msgParams.getTestData();
if(oConvertUtils.isNotEmpty(testData)){
Map<String, Object> data = JSON.parseObject(testData, Map.class);
md.setData(data);
}
sysBaseApi.sendTemplateMessage(md);
return result.success("消息发送成功!");
} catch (Exception e) {
log.error("发送消息出错", e.getMessage());
return result.error500("发送消息出错!");
}
}
}
...@@ -30,10 +30,6 @@ public class CodeGenerate { ...@@ -30,10 +30,6 @@ public class CodeGenerate {
// 表名 // 表名
String[] tables = { String[] tables = {
"t_da_curve_management",
"t_da_fastener_management",
"t_da_sign_board_management",
"t_da_track_bed_management",
"t_da_vertical_curve_management", "t_da_vertical_curve_management",
}; };
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>jeecg-system-api</module>
<module>jeecg-system-biz</module> <module>jeecg-system-biz</module>
<module>jeecg-system-start</module> <module>jeecg-system-start</module>
</modules> </modules>
......
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