Compare commits

...
10 Commits
Author SHA1 Message Date
lixuetao 1364d0c24d fastjson版本更新 2024-01-16 11:32:20 +08:00
lixuetao 2e41251b98 升级各种组件版本,以符合安全要求 2024-01-16 11:13:47 +08:00
lixuetao 0b3556e470 提交最新数据库 2023-12-18 20:01:43 +08:00
lixuetao 7d7cd8e14b 处理性能问题 2023-12-18 18:54:24 +08:00
zer0Black 42f693a780 处理swagger问题 2023-12-16 00:05:12 +08:00
lixuetao fa2dd0259e 报告添加咨询项目字段 2023-12-13 23:01:34 +08:00
lixuetao c134f11742 修复角色查询无效的bug 2023-12-13 20:14:19 +08:00
lixuetao 81a4420a7f 数据库优化sql 2023-12-13 19:18:14 +08:00
lixuetao 7b5606df0a 发邮件功能处理提交
日志功能修复
2023-12-13 13:31:00 +08:00
lixuetao 9d85d696ca 超过7天自动审批开发 2023-12-12 16:40:03 +08:00
29 changed files with 132459 additions and 188 deletions
+29 -29
View File
@@ -19,44 +19,44 @@
<java_source_version>1.8</java_source_version>
<java_target_version>1.8</java_target_version>
<ehcache.version>2.6.6</ehcache.version>
<shiro.version>1.4.0-RC2</shiro.version>
<shiro.version>1.12.0</shiro.version>
<!--<spring.version>4.3.9.RELEASE</spring.version>-->
<aspectj.version>1.8.5</aspectj.version>
<org.apache.maven.plugins.version>3.7.0</org.apache.maven.plugins.version>
<!--adc-da-version-->
<adc-da-sys.version>4.0.0</adc-da-sys.version>
<adc-da-util.version>RELEASE</adc-da-util.version>
<adc-da-base.version>RELEASE</adc-da-base.version>
<adc-da-swagger.version>RELEASE</adc-da-swagger.version>
<adc-da-util.version>2.3.2</adc-da-util.version>
<adc-da-base.version>3.0.0-SNAPSHOT</adc-da-base.version>
<adc-da-swagger.version>2.3.3</adc-da-swagger.version>
</properties>
<repositories>
<repository>
<id>central</id>
<url>http://60.247.58.121:8182/repository/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshot</id>
<url>http://60.247.58.121:8182/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>central</id>-->
<!-- <url>http://60.247.58.121:8182/repository/public</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>false</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- <repository>-->
<!-- <id>snapshot</id>-->
<!-- <url>http://60.247.58.121:8182/repository/snapshots/</url>-->
<!-- <releases>-->
<!-- <enabled>false</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- <checksumPolicy>warn</checksumPolicy>-->
<!-- </snapshots>-->
<!-- </repository>-->
</repositories>
<!-- </repositories>-->
<distributionManagement>
<repository>
@@ -146,11 +146,10 @@ public class ShiroFilterConfiguration {
filterChainDefinitionMap.put(adminPath + LOGIN, AUTHC);
filterChainDefinitionMap.put(adminPath + "/logout", "logout");
// filterChainDefinitionMap.put(restPath + "/**", "logout");
filterChainDefinitionMap.put("/swagger-ui.html", ANON);
// filterChainDefinitionMap.put("/swagger-ui.html", "jwtFilter");
// filterChainDefinitionMap.put("/swagger-ui.html", ANON);
filterChainDefinitionMap.put("/swagger-ui.html", "jwtFilter");
/* 全api一般需要登录才能使用 */
filterChainDefinitionMap.put(portalPath+"/**", ANON);
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
@@ -39,14 +39,15 @@ public class LogController {
// }
try {
UserEO user = UserUtils.getUser();
MiLogEO miLogEO = new MiLogEO();
miLogEO.setId(UUID.randomUUID().toString().replaceAll("-",""));
miLogEO.setAccessPage(accessPage);
miLogEO.setAccount(user.getAccount());
miLogEO.setUserName(user.getUsname());
miLogEO.setOperateDate(new Date());
dao.save(miLogEO);
if (user != null){
MiLogEO miLogEO = new MiLogEO();
miLogEO.setId(UUID.randomUUID().toString().replaceAll("-",""));
miLogEO.setAccessPage(accessPage);
miLogEO.setAccount(user.getAccount());
miLogEO.setUserName(user.getUsname());
miLogEO.setOperateDate(new Date());
dao.save(miLogEO);
}
} catch (Exception e) {
logger.error("日志添加异常", e);
@@ -1,5 +1,5 @@
[2023-04-28 20:13:13.246] [main] [INFO ] com.adc.da.AdcDaApplication - Starting AdcDaApplication v2.5.0 on DESKTOP-AE5FJUH with PID 14776 (D:\desktop\hzwl\dazhong\faw-report-library-boot\adc-da-main\target\adc-da-main-2.5.0.jar started by 15022 in D:\desktop\hzwl\dazhong\faw-report-library-boot\adc-da-main\target)
[2023-04-28 20:13:13.253] [main] [DEBUG] com.adc.da.AdcDaApplication - Running with Spring Boot v2.1.5.RELEASE, Spring v5.1.7.RELEASE
[2023-04-28 20:13:13.253] [main] [DEBUG] com.adc.da.AdcDaApplication - Running with Spring Boot v2.5.15, Spring v5.1.7.RELEASE
[2023-04-28 20:13:13.255] [main] [INFO ] com.adc.da.AdcDaApplication - The following profiles are active: dev
[2023-04-28 20:13:15.346] [main] [INFO ] o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
[2023-04-28 20:13:15.350] [main] [INFO ] o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
+41 -47
View File
@@ -35,31 +35,31 @@
<!--</configuration>-->
<!--</server>-->
<!--</servers>-->
<repositories>
<repository>
<id>adc</id>
<url>http://60.247.58.121:8182/repository/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshot</id>
<url>http://60.247.58.121:8182/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>adc</id>-->
<!-- <url>http://60.247.58.121:8182/repository/public</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>false</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- <repository>-->
<!-- <id>snapshot</id>-->
<!-- <url>http://60.247.58.121:8182/repository/snapshots/</url>-->
<!-- <releases>-->
<!-- <enabled>false</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- <checksumPolicy>warn</checksumPolicy>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- </repositories>-->
<dependencies>
<!--<dependency>-->
@@ -89,7 +89,7 @@
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-util</artifactId>
<version>2.3.3-SNAPSHOT</version>
<version>2.3.2</version>
</dependency>
<!-- 系统管理组件 -->
<!--<dependency>-->
@@ -199,11 +199,11 @@
<!--<version>2.5.0</version>-->
<!--</dependency>-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>javax.servlet-api</artifactId>-->
<!-- <version>3.1.0</version>-->
<!-- </dependency>-->
<!-- <dependency> -->
@@ -240,11 +240,11 @@
</exclusions>
</dependency>
<!-- 代码生成组件 -->
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-gen</artifactId>
<version>2.3.2-SNAPSHOT</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.adc</groupId>-->
<!-- <artifactId>adc-da-gen</artifactId>-->
<!-- <version>2.3.2-SNAPSHOT</version>-->
<!-- </dependency>-->
<!-- Druid数据库连接池组件 -->
<!--<dependency>-->
<!--<groupId>com.adc</groupId>-->
@@ -270,12 +270,6 @@
</exclusions>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- jdk1.7支持2.4.6版本es客户端,jdk1.8支持6.0版本es客户端 -->
<!--<dependency>-->
<!--<groupId>org.elasticsearch</groupId>-->
@@ -303,7 +297,7 @@
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
@@ -343,10 +337,10 @@
<artifactId>mssql-jdbc</artifactId>
</dependency>
<!-- 支持oracle 12c的驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.oracle</groupId>-->
<!-- <artifactId>ojdbc7</artifactId>-->
<!-- </dependency>-->
<!-- 支持MySQL的驱动 -->
<dependency>
<groupId>mysql</groupId>
@@ -76,14 +76,15 @@ serverIp=http://127.0.0.1:7060/
#MAIL_USERNAME=cagds@catarc.ac.cn
#MAIL_PASSWORD=Cagds9760
MAIL_SMTP =smtp.163.com
MAIL_SMTP_PORT=465
MAIL_USERNAME=simashihao@163.com
MAIL_PASSWORD=VQBNNQBLDIALAYCV
spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=lixuetao0606@foxmail.com
spring.mail.password=redkceqbcgrzbfba
spring.mail.from=lixuetao0606@foxmail.com
#MAIL_SMTP =cmp.changan.com
#MAIL_SMTP_PORT=25
MAIL_POP_PORT=110
#MAIL_POP_PORT=110
#MAIL_USERNAME=64459@Any3.com
#MAIL_PASSWORD=65316975Xiaoq
@@ -62,7 +62,12 @@ public class ReportLogAspect {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LogEntity entity = new LogEntity();
entity.setAccount(UserUtils.getUser().getAccount());
if (UserUtils.getUser() == null){
entity.setAccount("系统自动操作");
} else {
entity.setAccount(UserUtils.getUser().getAccount());
}
entity.setClassName(cs.getName());
entity.setOperateTime(format.format(new Date()));
entity.setMethod(name);
@@ -765,7 +765,12 @@ public class ReportManageConroller {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LogEntity entity = new LogEntity();
entity.setAccount(UserUtils.getUser().getAccount());
if (UserUtils.getUser() == null){
entity.setAccount("系统自动操作");
} else {
entity.setAccount(UserUtils.getUser().getAccount());
}
entity.setClassName("com.adc.da.report.controller.ReportManageConroller");
entity.setOperateTime(format.format(new Date()));
entity.setMethod("downloadPic");
@@ -65,6 +65,12 @@ public class ReportEntity {
@TableField("privacyLevel")
private String privacyLevel;
/**
* 咨询项目
*/
@TableField("consultingProject")
private String consultingProject;
/**
* 文件id
*/
@@ -91,6 +91,12 @@ public class TtReportManageAct {
@TableField("privacyLevel")
private String privacyLevel;
/**
* 咨询项目
*/
@TableField("consultingProject")
private String consultingProject;
/**
* 文件id
*/
@@ -931,7 +931,12 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LogEntity entity = new LogEntity();
entity.setAccount(UserUtils.getUser().getAccount());
if (UserUtils.getUser() == null){
entity.setAccount("系统自动操作");
} else {
entity.setAccount(UserUtils.getUser().getAccount());
}
entity.setClassName("com.adc.da.report.service.impl.IReportServiceImpl");
entity.setOperateTime(format.format(new Date()));
entity.setMethod("reportDetail");
@@ -149,13 +149,13 @@ public class ITtReportManageActServiceImpl extends ServiceImpl<TtReportManageAct
reportLog(ttReportManageAct.getName(),"新增");
}else {
//更改
ReportEntity reportEntity1 = new ReportEntity();
BeanUtil.copyProperties(ttReportManageAct,reportEntity1);
reportEntity1.setId(ttReportManageAct.getDataId());
ReportEntity reportEntityInDb = new ReportEntity();
BeanUtil.copyProperties(ttReportManageAct,reportEntityInDb);
reportEntityInDb.setId(ttReportManageAct.getDataId());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
reportEntity1.setCreateDate(sdf.format(ttReportManageAct.getCreateDate()));
reportEntity1.setUpdateDate(sdf.format(ttReportManageAct.getUpdateDate()));
reportDao.updateById(reportEntity1);
reportEntityInDb.setCreateDate(sdf.format(ttReportManageAct.getCreateDate()));
reportEntityInDb.setUpdateDate(sdf.format(ttReportManageAct.getUpdateDate()));
reportDao.updateById(reportEntityInDb);
reportLog(reportEntity.getName(),"编辑");
}
@@ -67,6 +67,11 @@ public class ReportDetailVo {
*/
private String privacyLevel;
/**
* 咨询项目
*/
private String consultingProject;
/**
* 创建人id
*/
@@ -13,6 +13,7 @@
<result column="year" property="year" />
<result column="confidentialLevel" property="confidentialLevel" />
<result column="privacyLevel" property="privacyLevel" />
<result column="consultingProject" property="consultingProject" />
<result column="createUserId" property="createUserId" />
<result column="secrecy_last" property="secrecyLast" />
<collection property="fileList" ofType="com.adc.da.report.eo.ReportFile">
@@ -51,7 +52,7 @@
</resultMap>
<!-- 通用查询结果列 -->
<sql id="BaseColumnList">
id, name, keycontent, maincontent, department, year, confidentialLevel, privacyLevel,
id, name, keycontent, maincontent, department, year, confidentialLevel, privacyLevel,consultingProject,
createUserId, createDate, updateDate, del_flag,secrecy_last
</sql>
@@ -68,6 +69,7 @@
value (
#{Vo.dataId},#{Vo.name},#{Vo.keyContent},#{Vo.mainContent},#{Vo.department},#{Vo.year},
#{Vo.confidentialLevel},#{Vo.privacyLevel},
#{Vo.consultingProject},
#{Vo.createUserId},
#{Vo.createDate},#{Vo.updateDate},#{Vo.delFlag},
#{Vo.secrecyLast})
@@ -425,6 +427,7 @@
rm.confidentialLevel AS confidentialLevel,
rm.privacyLevel AS privacyLevel,
rm.secrecy_last AS secrecyLast,
rm.consultingProject AS consultingProject,
f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId
FROM `tt_report_manage` AS rm
LEFT JOIN ts_user AS u ON u.USID = rm.createUserId
@@ -17,6 +17,7 @@
<result column="year" property="year" />
<result column="confidentialLevel" property="confidentialLevel" />
<result column="privacyLevel" property="privacyLevel" />
<result column="consultingProject" property="consultingProject" />
<result column="createUserId" property="createUserId" />
<result column="createDate" property="createDate" />
<result column="updateDate" property="updateDate" />
@@ -37,7 +38,7 @@
<!-- 通用查询结果列 -->
<sql id="BaseColumnList">
id,
task_id, prc_id, data_id,report_id ,name, keycontent, maincontent, department, year, confidentialLevel,
task_id, prc_id, data_id,report_id ,name, keycontent, maincontent, department, year, confidentialLevel,consultingProject
privacyLevel, createUserId, createDate, updateDate, del_flag
,secrecy_last
</sql>
@@ -135,7 +136,7 @@
a.id,
task_id, prc_id, data_id,a.report_id, name, keycontent, maincontent, department,
org.LONG_NAME as departmentName,
year,f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId, confidentialLevel, privacyLevel, createUserId,
year,f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId, confidentialLevel, privacyLevel, consultingProject, createUserId,
createDate,
updateDate, a.del_flag
,secrecy_last
@@ -152,7 +153,7 @@
a.id,
task_id, prc_id, data_id,a.report_id, name, keycontent, maincontent, department,
org.LONG_NAME as departmentName,
year,f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId ,confidentialLevel, privacyLevel, createUserId,
year,f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId ,confidentialLevel, privacyLevel, consultingProject, createUserId,
createDate,
updateDate, a.del_flag
,secrecy_last
+24 -19
View File
@@ -15,24 +15,24 @@
<java.version>1.8</java.version>
<!--<spring.version>4.3.9.RELEASE</spring.version>-->
<mybatis.version>3.4.2</mybatis.version>
<shiro.version>1.4.0-RC2</shiro.version>
<shiro.version>1.12.0</shiro.version>
<aspectj.version>1.8.5</aspectj.version>
<org.apache.maven.plugins.version>3.7.0</org.apache.maven.plugins.version>
<ehcache.version>2.6.6</ehcache.version>
</properties>
<repositories>
<repository>
<id>adc</id>
<url>http://60.247.58.121:8182/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>adc</id>-->
<!-- <url>http://60.247.58.121:8182/repository/public</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- </repositories>-->
<distributionManagement>
<repository>
@@ -58,7 +58,7 @@
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-swagger</artifactId>
<version>RELEASE</version>
<version>2.3.3</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
@@ -69,7 +69,7 @@
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-base</artifactId>
<version>RELEASE</version>
<version>3.0.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>adc-da-util</artifactId>
@@ -80,7 +80,7 @@
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-util</artifactId>
<version>RELEASE</version>
<version>2.3.2</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -170,10 +170,15 @@
<artifactId>lombok</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.mail</groupId>-->
<!-- <artifactId>mail</artifactId>-->
<!-- <version>1.4.7</version>-->
<!-- </dependency>-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
@@ -120,8 +120,8 @@ public class UserEOController extends BaseController<UserEO> {
@ApiOperation("获取所有用户")
@GetMapping("/list")
public ResponseMessage list(int page, int pageSize, String account, String uname) {
IPage<Map<String, Object>> list = userEOService.list(page, pageSize, account, uname);
public ResponseMessage list(int page, int pageSize, String account, String uname, String roleName) {
IPage<Map<String, Object>> list = userEOService.list(page, pageSize, account, uname, roleName);
list.getRecords().forEach(c -> {
try {
c.put("CELLPHONE_NUMBER", StringUtils.isNotEmpty(c.get("CELLPHONE_NUMBER")) ? EncryptUtil.decrypt(c.get("CELLPHONE_NUMBER").toString())
@@ -23,7 +23,8 @@ public interface UserEODao extends BaseMapper<UserEO> {
List<Map<String, Object>> list(@Param("current")int current ,@Param("size") int size ,
@Param("account") String account,
@Param("uname") String uname);
@Param("uname") String uname,
@Param("rolename") String rolename);
/**
* 查询用户及用户所对应的角色
@@ -49,7 +50,9 @@ public interface UserEODao extends BaseMapper<UserEO> {
List<UserEO> getOwnLeader(@Param("Vo") List<OrgEO> orgEOList);
long listCount(@Param("account") String account, @Param("uname") String uname);
long listCount(@Param("account") String account,
@Param("uname") String uname,
@Param("rolename") String rolename);
List<String> selectAccout();
@@ -303,14 +303,14 @@ public class UserEOServiceImpl implements IUserEoService {
}
@Override
public IPage<Map<String, Object>> list(int pageNo, int pageSize, String account, String uname) {
public IPage<Map<String, Object>> list(int pageNo, int pageSize, String account, String uname, String rolename) {
IPage page = new Page();
int i = pageNo - 1 ;
int current = i == 0 ? 0 : i * pageSize;
page.setCurrent(pageNo);
page.setSize(pageSize);
List<Map<String, Object>> list = dao.list(current, pageSize, account, uname);
long count = dao.listCount(account,uname);
List<Map<String, Object>> list = dao.list(current, pageSize, account, uname, rolename);
long count = dao.listCount(account,uname, rolename);
page.setTotal(count);
page.setRecords(list);
return page;
@@ -48,7 +48,7 @@ public interface IUserEoService {
*/
List<UserVO> getUserByIdListNodel(List<String> userIdList);
IPage<Map<String, Object>> list(int pageNo, int pageSize, String account, String uname);
IPage<Map<String, Object>> list(int pageNo, int pageSize, String account, String uname, String roleName);
void delete(String ids);
@@ -0,0 +1,108 @@
package com.adc.da.sys.util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.File;
@Slf4j
@Service
public class EmailUtil {
//Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口,这里直接注入即可使用
@Resource
private JavaMailSender mailSender;
// 配置文件中我的qq邮箱
@Value("${spring.mail.from}")
private String from;
/**
* 简单文本邮件
* @param to 收件人
* @param subject 主题
* @param content 内容
*/
public void sendSimpleMail(String to, String subject, String content) {
//创建SimpleMailMessage对象
SimpleMailMessage message = new SimpleMailMessage();
//邮件发送人
message.setFrom(from);
//邮件接收人
message.setTo(to);
//邮件主题
message.setSubject(subject);
//邮件内容
message.setText(content);
//发送邮件
mailSender.send(message);
}
/**
* html邮件
* @param to 收件人,多个时参数形式 "xxx@xxx.com,xxx@xxx.com,xxx@xxx.com"
* @param subject 主题
* @param content 内容
*/
public void sendHtmlMail(String to, String subject, String content) {
//获取MimeMessage对象
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper;
try {
messageHelper = new MimeMessageHelper(message, true);
//邮件发送人
messageHelper.setFrom(from);
//邮件接收人,设置多个收件人地址
InternetAddress[] internetAddressTo = InternetAddress.parse(to);
messageHelper.setTo(internetAddressTo);
//messageHelper.setTo(to);
//邮件主题
message.setSubject(subject);
//邮件内容,html格式
messageHelper.setText(content, true);
//发送
mailSender.send(message);
//日志信息
log.info("邮件已经发送。");
} catch (Exception e) {
log.error("发送邮件时发生异常!", e);
}
}
/**
* 带附件的邮件
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param filePath 附件
*/
public void sendAttachmentsMail(String to, String subject, String content, String filePath) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName, file);
mailSender.send(message);
//日志信息
log.info("邮件已经发送。");
} catch (Exception e) {
log.error("发送邮件时发生异常!", e);
}
}
}
@@ -19,6 +19,9 @@
<if test="uname !='' and uname !=null">
and USNAME like CONCAT('%',CONCAT(#{uname},'%'))
</if>
<if test="rolename !='' and rolename !=null">
and tr.NAME like CONCAT('%',CONCAT(#{rolename},'%'))
</if>
ORDER BY UPDATE_TIME DESC
LIMIT #{current},#{size}
) t1
@@ -43,7 +46,9 @@
<if test="uname !='' and uname !=null">
and USNAME like CONCAT('%',CONCAT(#{uname},'%'))
</if>
<if test="rolename !='' and rolename !=null">
and tr.NAME like CONCAT('%',CONCAT(#{rolename},'%'))
</if>
</select>
<select id="getUserCount" resultType="java.lang.Long">
+30
View File
@@ -0,0 +1,30 @@
INSERT INTO `report-library`.`ts_config` (`id`, `config_key`, `config_value`) VALUES ('AVWQEDW2', 'SET_GRAY', '0');
UPDATE `report-library`.`ts_menu` SET `DEL_FLAG` = 0, `NAME` = '基础设置', `PARENT_ID` = 'AVL9YSB7ZF', `PARENT_IDS` = 'null6f6fafb4a7,3HPUHGTHWX,AEHJB8YNJ3,', `HREF` = '/basemes/setting', `ICON` = '', `IS_SHOW` = 1, `PERMISSION` = NULL, `REMARKS` = '', `SORT` = '5', `EXT_INFO` = NULL, `ICONHREF` = '', `ICONCLICK` = NULL, `ICONCLICKHREF` = NULL, `IS_URL` = '0', `IS_BUTTON` = '0' WHERE `ID` = '49QS25EHCD';
INSERT INTO `report-library`.`tr_role_menu` (`ROLE_ID`, `MENU_ID`) VALUES ('35LLRCAQ8D', '49QS25EHCD');
ALTER TABLE `report-library`.`ts_report_content`
ADD INDEX `REPORT_CONTENT_REPORT_ID_INDEX`(`report_id`) USING BTREE;
ALTER TABLE `report-library`.`tt_report_manage`
ADD INDEX `REPORT_MANAGER_CREATEUSERID_INDEX`(`createUserId`) USING BTREE;
ALTER TABLE `report-library`.`tt_report_manage`
ADD COLUMN `consultingProject` varchar(1000) NULL COMMENT '咨询项目' AFTER `privacyLevel`;
ALTER TABLE `report-library`.`tt_report_manage_act`
ADD COLUMN `consultingProject` varchar(1000) NULL COMMENT '咨询项目' AFTER `privacyLevel`;
ALTER TABLE `report-library`.`ts_report_user_rating`
ADD INDEX `RATING_REPORT_ID`(`report_id`) USING BTREE;
ALTER TABLE `report-library`.`bus_process_name`
ADD INDEX `PROCESS_NAME_DATA_ID`(`DATA_ID`) USING BTREE;
ALTER TABLE `report-library`.`report_log_book`
ADD INDEX `LOG_BOOK_REPORT_ID`(`report_id`) USING BTREE;
ALTER TABLE `report-library`.`report_log_book`
ADD INDEX `LOG_BOOK_TYPE`(`type`) USING BTREE;
ALTER TABLE `report-library`.`ts_report_file`
ADD INDEX `FILE_REPROT_FILE`(`report_id`) USING BTREE;
-3
View File
@@ -1,3 +0,0 @@
INSERT INTO `report-library`.`ts_config` (`id`, `config_key`, `config_value`) VALUES ('AVWQEDW2', 'SET_GRAY', '0');
UPDATE `report-library`.`ts_menu` SET `DEL_FLAG` = 0, `NAME` = '基础设置', `PARENT_ID` = 'AVL9YSB7ZF', `PARENT_IDS` = 'null6f6fafb4a7,3HPUHGTHWX,AEHJB8YNJ3,', `HREF` = '/basemes/setting', `ICON` = '', `IS_SHOW` = 1, `PERMISSION` = NULL, `REMARKS` = '', `SORT` = '5', `EXT_INFO` = NULL, `ICONHREF` = '', `ICONCLICK` = NULL, `ICONCLICKHREF` = NULL, `IS_URL` = '0', `IS_BUTTON` = '0' WHERE `ID` = '49QS25EHCD';
INSERT INTO `report-library`.`tr_role_menu` (`ROLE_ID`, `MENU_ID`) VALUES ('35LLRCAQ8D', '49QS25EHCD');
File diff suppressed because one or more lines are too long
+56 -50
View File
@@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<version>2.5.15</version>
<relativePath/>
</parent>
@@ -20,25 +20,26 @@
<java.version>1.8</java.version>
<java_source_version>1.8</java_source_version>
<java_target_version>1.8</java_target_version>
<spring.boot.version>2.1.5.RELEASE</spring.boot.version>
<spring.boot.version>2.5.15</spring.boot.version>
<junit.version>4.12</junit.version>
<fastjson.version>1.2.9</fastjson.version>
<fastjson.version>1.2.83</fastjson.version>
<slf4j.version>1.7.21</slf4j.version>
<log4j2.version>2.17.0</log4j2.version>
<aspectj.version>1.8.5</aspectj.version>
<jackson.version>2.12.5</jackson.version>
<codehaus.jackson.version>1.9.13</codehaus.jackson.version>
<mybatis-plus.version>3.2.0</mybatis-plus.version>
<mybatis-plus.version>3.3.1</mybatis-plus.version>
<mybatis.version>3.5.6</mybatis.version>
<oracle.driver.version>12.1.0.1</oracle.driver.version>
<mysql.driver.version>8.0.13</mysql.driver.version>
<mysql.driver.version>8.0.27</mysql.driver.version>
<sqlserver.driver.version>6.1.0.jre7</sqlserver.driver.version>
<commons-lang3.version>3.5</commons-lang3.version>
<commons-io.version>2.5</commons-io.version>
<commons-codec.version>1.10</commons-codec.version>
<commons-configuration.version>1.10</commons-configuration.version>
<!-- <elasticsearch.version>2.4.6</elasticsearch.version>-->
<shiro.version>1.4.0-RC2</shiro.version>
<tomcat.version>8.5.37</tomcat.version>
<shiro.version>1.12.0</shiro.version>
<!-- <tomcat.version>8.5.37</tomcat.version>-->
<poi.version>3.16</poi.version>
</properties>
@@ -51,29 +52,34 @@
</modules>
<repositories>
<repository>
<id>adc</id>
<url>http://60.247.58.121:8182/repository/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshot</id>
<url>http://60.247.58.121:8182/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
<!-- <repository>-->
<!-- <id>adc</id>-->
<!-- <url>http://60.247.58.121:8182/repository/public</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>false</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- <repository>-->
<!-- <id>snapshot</id>-->
<!-- <url>http://60.247.58.121:8182/repository/snapshots/</url>-->
<!-- <releases>-->
<!-- <enabled>false</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- <checksumPolicy>warn</checksumPolicy>-->
<!-- </snapshots>-->
<!-- </repository>-->
</repositories>
<distributionManagement>
@@ -189,7 +195,7 @@
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
<version>3.5.6</version>
</dependency>
@@ -205,12 +211,12 @@
<artifactId>mssql-jdbc</artifactId>
<version>${sqlserver.driver.version}</version>
</dependency>
<!-- 支持oracle 12c的驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>${oracle.driver.version}</version>
</dependency>
<!-- &lt;!&ndash; 支持oracle 12c的驱动 &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.oracle</groupId>-->
<!-- <artifactId>ojdbc7</artifactId>-->
<!-- <version>${oracle.driver.version}</version>-->
<!-- </dependency>-->
<!-- 支持MySQL的驱动 -->
<dependency>
<groupId>mysql</groupId>
@@ -250,7 +256,7 @@
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
<version>1.5</version>
</dependency>
<dependency>
@@ -355,17 +361,17 @@
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>javax.servlet-api</artifactId>-->
<!-- <version>3.1.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>servlet-api</artifactId>-->
<!-- <version>2.5</version>-->
<!-- </dependency>-->
<dependency>
<groupId>javax.servlet</groupId>
@@ -420,7 +426,7 @@
<dependency>
<groupId>com.adc</groupId>
<artifactId>adc-da-swagger</artifactId>
<version>RELEASE</version>
<version>2.3.3</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
@@ -526,7 +532,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.1.5.RELEASE</version>
<version>2.5.15</version>
</dependency>
</dependencies>
@@ -1,8 +1,16 @@
package com.adc.da.wkflow.listener.powerApply;
import cn.hutool.core.util.StrUtil;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.ReportDao;
import com.adc.da.report.eo.PowerApplyAct;
import com.adc.da.report.service.IReportService;
import com.adc.da.report.vo.ReportDetailVo;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.sys.util.EmailUtil;
import com.adc.da.sys.util.EncryptUtil;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
@@ -14,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -26,6 +35,10 @@ public class oneApplyAfter implements TaskListener {
PowerApplyActDao powerApplyActDao = SpringContextUtil.getBean(PowerApplyActDao.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
IUserEoService userEoService = SpringContextUtil.getBean(IUserEoService.class);
EmailUtil emailUtil = SpringContextUtil.getBean(EmailUtil.class);
ReportDao reportDao = SpringContextUtil.getBean(ReportDao.class);
//查询task任务
LambdaQueryWrapper<PowerApplyAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PowerApplyAct::getPrcId, delegateTask.getProcessInstanceId());
@@ -59,5 +72,41 @@ public class oneApplyAfter implements TaskListener {
//审批人
delegateTask.setVariable("oneApprove",object.getString("oneApprove"));
delegateTask.setVariable("twoApprove",object.getString("twoApprove"));
try {
if (StrUtil.isNotEmpty(powerApplyAct.getUserId())){
UserEO userEO = userEoService.getUserById(powerApplyAct.getUserId());
if (userEO != null && StrUtil.isNotEmpty(userEO.getEmail())){
// 给email解码
String email = EncryptUtil.decrypt(userEO.getEmail()).toString();
// 获取文件信息
String reportId = powerApplyAct.getReportId();
ReportDetailVo reportDetailVo = reportDao.reportDetail(reportId);
String approveOption = "";
if ("1".equals(s)){
approveOption = "通过";
} else {
approveOption = "不通过";
}
String title = reportDetailVo.getName() + "文件权限申请一级审批" + approveOption;
String powerStr = "";
if(powerApplyAct.getPower() == 1){
powerStr = "预览";
} else if(powerApplyAct.getPower() == 2){
powerStr = "预览+下载";
}
String content = reportDetailVo.getName() + "文件" + powerStr + "权限申请一级审批完成,审核结果:" + approveOption + "";
// 发邮件给发起人
emailUtil.sendSimpleMail(email, title, content);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@@ -1,9 +1,16 @@
package com.adc.da.wkflow.listener.powerApply;
import cn.hutool.core.util.StrUtil;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.PowerApplyDao;
import com.adc.da.report.dao.mysql.ReportDao;
import com.adc.da.report.eo.PowerApplyAct;
import com.adc.da.report.vo.ReportDetailVo;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.sys.util.EmailUtil;
import com.adc.da.sys.util.EncryptUtil;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
@@ -16,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -23,6 +31,7 @@ import java.util.List;
*/
public class twoApplyAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
PowerApplyActDao powerApplyActDao = SpringContextUtil.getBean(PowerApplyActDao.class);
@@ -30,6 +39,10 @@ public class twoApplyAfter implements TaskListener {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
IUserEoService userEoService = SpringContextUtil.getBean(IUserEoService.class);
EmailUtil emailUtil = SpringContextUtil.getBean(EmailUtil.class);
ReportDao reportDao = SpringContextUtil.getBean(ReportDao.class);
//查询task任务
LambdaQueryWrapper<PowerApplyAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PowerApplyAct::getPrcId, delegateTask.getProcessInstanceId());
@@ -65,5 +78,41 @@ public class twoApplyAfter implements TaskListener {
powerApplyDao.savePowerAct(powerApplyAct);
busProcessNameService.stopAct(delegateTask.getProcessInstanceId());
}
try {
if (StrUtil.isNotEmpty(powerApplyAct.getUserId())){
UserEO userEO = userEoService.getUserById(powerApplyAct.getUserId());
if (userEO != null && StrUtil.isNotEmpty(userEO.getEmail())){
// 给email解码
String email = EncryptUtil.decrypt(userEO.getEmail()).toString();
// 获取文件信息
String reportId = powerApplyAct.getReportId();
ReportDetailVo reportDetailVo = reportDao.reportDetail(reportId);
String approveOption = "";
if ("1".equals(s)){
approveOption = "通过";
} else {
approveOption = "不通过";
}
String title = reportDetailVo.getName() + "文件权限申请二级审批" + approveOption;
String powerStr = "";
if(powerApplyAct.getPower() == 1){
powerStr = "预览";
} else if(powerApplyAct.getPower() == 2){
powerStr = "预览+下载";
}
String content = reportDetailVo.getName() + "文件" + powerStr + "权限申请二级审批完成,审核结果:" + approveOption + "";
// 发邮件给发起人
emailUtil.sendSimpleMail(email, title, content);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@@ -43,7 +43,7 @@ public class OverdueAutoApproveTimer {
*/
// @GetMapping("/autoApproveOverDue7")
@Scheduled(cron="0 1 0 * * *") //每晚1点执行
public void autoApproveOverDue7() throws ParseException {
public void autoApproveOverDue7() {
TaskCommonQuery taskCommonQuery = new TaskCommonQuery();
taskCommonQuery.setPrcType(FlowTypeEnum.SCBGLC.getValue());
ResponseMessage<Page> responseMessage = todoTaskController.todoTaskListByUserId(taskCommonQuery);