Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhangzhiqiang
2023-03-24 17:24:14 +08:00
5 changed files with 133 additions and 75 deletions

View File

@@ -1,8 +1,10 @@
package org.nl;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
import com.alicp.jetcache.anno.config.EnableMethodCache;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.nl.common.utils.SpringContextHolder;
import org.springframework.boot.SpringApplication;
@@ -11,9 +13,10 @@ import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactor
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
import org.springframework.retry.annotation.EnableRetry;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
@@ -35,6 +38,9 @@ import org.springframework.web.bind.annotation.RestController;
@EnableMethodCache(basePackages = "org.nl")
@EnableCreateCacheAnnotation
@MapperScan("org.nl.**.mapper")
@EnableRetry //https://juejin.cn/post/7094613787973517343
@Slf4j
public class AppRun {
public static void main(String[] args) {
@@ -53,15 +59,16 @@ public class AppRun {
return fa;
}
// /**
// * 访问首页提示
// *
// * @return /
// */
// @GetMapping("/")
// @SaIgnore
// public String index() {
// return "Backend service started successfully";
// }
/**
* 访问首页提示
*
* @return /
*/
@GetMapping("/")
@SaIgnore
public String index() {
log.info("123");
return "Backend service started successfully";
}
}

View File

@@ -6,13 +6,14 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yomahub.tlog.core.annotation.TLogAspect;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.aspect.exception.BadRequestException;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.system.service.param.dao.mapper.SysParamMapper;
import org.springframework.stereotype.Service;
@@ -22,9 +23,7 @@ import java.util.List;
import java.util.Map;
/**
* <p>
* 系统参数表 服务实现类
* </p>
*
* @author generator
* @since 2022-12-14
@@ -33,59 +32,66 @@ import java.util.Map;
@RequiredArgsConstructor
@Slf4j
@Transactional
public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> implements ISysParamService {
public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param>
implements ISysParamService {
private final SysParamMapper paramMapper;
private final SysParamMapper paramMapper;
@Override
public Page<Param> queryPage(Map whereJson, PageQuery page) {
log.info("111");
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
queryWrapper.orderBy(true, true, "create_time");
Page<Param> paramPage = paramMapper.selectPage(page.build(), queryWrapper);
return paramPage;
}
@Override
@TLogAspect
public Page<Param> queryPage(Map whereJson, PageQuery page) {
log.info("这是第一条日志");
log.info("这是第二条日志");
log.info("这是第三条日志");
new Thread(() -> log.info("这是异步日志")).start();
@Override
@Transactional(rollbackFor = Exception.class)
public void create(Param param) {
List code = paramMapper.selectByMap(MapOf.of("code", param.getCode()));
if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException("编码不能一致");
param.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
param.setCreateId(currentUserId);
param.setCreateName(nickName);
param.setCreateTime(now);
param.setUpdateId(currentUserId);
param.setUpdateName(nickName);
param.setUpdateTime(now);
paramMapper.insert(param);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(Param param) {
Param paramObj = paramMapper.selectById(param.getId());
if (ObjectUtil.isEmpty(paramObj)) throw new BadRequestException("被删除或无权限,操作失败!");
param.setUpdateId(SecurityUtils.getCurrentUserId());
param.setUpdateName(SecurityUtils.getCurrentNickName());
param.setUpdateTime(DateUtil.now());
paramMapper.updateById(param);
}
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
queryWrapper.orderBy(true, true, "create_time");
Page<Param> paramPage = paramMapper.selectPage(page.build(), queryWrapper);
return paramPage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByIds(List<String> ids) {
paramMapper.deleteBatchIds(ids);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(Param param) {
List code = paramMapper.selectByMap(MapOf.of("code", param.getCode()));
if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException("编码不能一致");
param.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
param.setCreateId(currentUserId);
param.setCreateName(nickName);
param.setCreateTime(now);
param.setUpdateId(currentUserId);
param.setUpdateName(nickName);
param.setUpdateTime(now);
paramMapper.insert(param);
}
@Override
public Param findByCode(String code) {
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code", code);
Param param = paramMapper.selectOne(queryWrapper);
return param;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(Param param) {
Param paramObj = paramMapper.selectById(param.getId());
if (ObjectUtil.isEmpty(paramObj)) throw new BadRequestException("被删除或无权限,操作失败!");
param.setUpdateId(SecurityUtils.getCurrentUserId());
param.setUpdateName(SecurityUtils.getCurrentNickName());
param.setUpdateTime(DateUtil.now());
paramMapper.updateById(param);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByIds(List<String> ids) {
paramMapper.deleteBatchIds(ids);
}
@Override
public Param findByCode(String code) {
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code", code);
Param param = paramMapper.selectOne(queryWrapper);
return param;
}
}

View File

@@ -2,6 +2,7 @@ package org.nl.system.service.quartz.utils;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.yomahub.tlog.task.quartz.TLogQuartzJobBean;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.RedisUtils;
import org.nl.common.utils.SpringContextHolder;
@@ -12,10 +13,10 @@ import org.nl.system.service.quartz.dao.SysQuartzJob;
import org.nl.system.service.quartz.dao.SysQuartzLog;
import org.nl.system.service.quartz.dao.mapper.SysQuartzLogMapper;
import org.nl.system.service.quartz.impl.SysQuartzJobServiceImpl;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.util.concurrent.Future;
import java.util.concurrent.ThreadPoolExecutor;
@@ -28,14 +29,16 @@ import java.util.concurrent.ThreadPoolExecutor;
@Async
@SuppressWarnings({"unchecked", "all"})
@Slf4j
public class ExecutionJob extends QuartzJobBean {
@DisallowConcurrentExecution
//public class ExecutionJob extends QuartzJobBean {
public class ExecutionJob extends TLogQuartzJobBean {
/**
* 该处仅供参考
*/
private final static ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll();
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
public void executeTask(JobExecutionContext context) throws JobExecutionException {
SysQuartzJob quartzJob = (SysQuartzJob) context.getMergedJobDataMap().get(SysQuartzJob.JOB_KEY);
// 获取spring bean
ISysQuartzJobService quartzJobService = SpringContextHolder.getBean(SysQuartzJobServiceImpl.class);
@@ -99,4 +102,5 @@ public class ExecutionJob extends QuartzJobBean {
}
}
}

View File

@@ -21,9 +21,12 @@ https://juejin.cn/post/6844903775631572999
<include resource="log/MesToErp.xml"/>-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 控制台彩色日志-->
<withJansi>true</withJansi>
<!-- <encoder>-->
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
<!-- <charset>${log.charset}</charset>-->
</encoder>
</appender>
@@ -41,15 +44,20 @@ https://juejin.cn/post/6844903775631572999
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">-->
<!--这里替换成AspectLogbackEncoder-->
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!--异步到文件-->
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<!-- 这里替换成AspectLogbackAsyncAppender -->
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
<!-- <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">-->
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE"/>
@@ -120,10 +128,11 @@ https://juejin.cn/post/6844903775631572999
<springProfile name="dev">
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="esLogAppender" />
<appender-ref ref="esLogAppender"/>
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="es-logger" level="warn" additivity="false">
<appender-ref ref="esLogAppender" />
<appender-ref ref="esLogAppender"/>
</logger>
<!--<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>