Browse Source

fix:成本后端

master
“wangzihua” 3 months ago
parent
commit
defcf7bef3
  1. 2
      yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
  2. 10
      yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java
  3. 16
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java
  4. 7
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/dao/LetterDao.java
  5. 8
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/entity/LetterEntity.java
  6. 21
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterAddForm.java
  7. 21
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryFormNoPage.java
  8. 13
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/vo/LetterVO.java
  9. 43
      yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java
  10. 2
      yun-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginResultVO.java
  11. 6
      yun-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
  12. 2
      yun-admin/src/main/resources/dev/application.yaml
  13. 5
      yun-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml
  14. 9
      yun-admin/src/main/resources/mapper/letter/LetterMapper.xml
  15. 2
      yun-admin/src/main/resources/pre/application.yaml
  16. 4
      yun-admin/src/main/resources/prod/application.yaml
  17. 6
      yun-admin/target/classes/application.yaml
  18. 7
      yun-admin/target/classes/log4j2-spring.xml
  19. 5
      yun-admin/target/classes/mapper/business/oa/notice/NoticeMapper.xml
  20. 9
      yun-admin/target/classes/mapper/letter/LetterMapper.xml
  21. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.class
  22. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.class
  23. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/letter/controller/LetterController.class
  24. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/letter/dao/LetterDao.class
  25. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/letter/domain/entity/LetterEntity.class
  26. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/letter/domain/vo/LetterVO.class
  27. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/letter/service/LetterService.class
  28. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/system/login/domain/LoginResultVO.class
  29. BIN
      yun-admin/target/classes/net/lab1024/sa/admin/module/system/login/service/LoginService.class
  30. 18
      yun-admin/target/classes/spy.properties
  31. 9
      yun-base/src/main/java/net/lab1024/sa/base/config/CorsFilterConfig.java
  32. 6
      yun-base/src/main/java/net/lab1024/sa/base/config/SystemEnvironmentConfig.java
  33. 9
      yun-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/service/HelpDocService.java
  34. 10
      yun-base/src/main/resources/prod/yun-base.yaml
  35. BIN
      yun-base/target/classes/net/lab1024/sa/base/config/CorsFilterConfig.class
  36. BIN
      yun-base/target/classes/net/lab1024/sa/base/config/SystemEnvironmentConfig.class
  37. BIN
      yun-base/target/classes/net/lab1024/sa/base/listener/WebServerListener.class
  38. BIN
      yun-base/target/classes/net/lab1024/sa/base/module/support/helpdoc/service/HelpDocService.class
  39. 37
      yun-base/target/classes/yun-base.yaml

2
yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java

@ -124,4 +124,6 @@ public interface NoticeDao extends BaseMapper<NoticeEntity> {
NoticeEntity queryById(@Param("noticeId")Long noticeId); NoticeEntity queryById(@Param("noticeId")Long noticeId);
NoticeEntity getOne();
} }

10
yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java

@ -1,5 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.service; package net.lab1024.sa.admin.module.business.oa.notice.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum; import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum;
@ -27,6 +28,7 @@ import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil; import net.lab1024.sa.base.common.util.SmartPageUtil;
import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum; import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService; import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import net.lab1024.sa.base.module.support.helpdoc.domain.entity.HelpDocEntity;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -241,4 +243,12 @@ public class NoticeService {
public NoticeEntity queryById(Long noticeId) { public NoticeEntity queryById(Long noticeId) {
return noticeDao.queryById(noticeId); return noticeDao.queryById(noticeId);
} }
public NoticeEntity getOne() {
//获取第一条承诺书
NoticeEntity noticeEntity = noticeDao.selectOne(
new LambdaQueryWrapper<NoticeEntity>()
.last("limit 1"));
return noticeEntity;
}
} }

16
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java

@ -1,14 +1,14 @@
package net.lab1024.sa.admin.module.letter.controller; package net.lab1024.sa.admin.module.letter.controller;
import net.lab1024.sa.admin.module.letter.domain.form.LetterAddForm;
import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm;
import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryFormNoPage;
import net.lab1024.sa.admin.module.letter.domain.vo.LetterVO; import net.lab1024.sa.admin.module.letter.domain.vo.LetterVO;
import net.lab1024.sa.admin.module.letter.service.LetterService; import net.lab1024.sa.admin.module.letter.service.LetterService;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.PageResult;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -37,5 +37,15 @@ public class LetterController {
return ResponseDTO.ok(letterService.queryPage(queryForm)); return ResponseDTO.ok(letterService.queryPage(queryForm));
} }
@Operation(summary = "是否签署承诺书 @author wzh")
@GetMapping("/letter/isLetter/{userId}")
public ResponseDTO<Boolean> isLetter(@PathVariable Long userId) {
return ResponseDTO.ok(letterService.isLetter(userId));
}
@Operation(summary = "签署承诺书 @author wzh")
@PostMapping("/letter/add")
public ResponseDTO<Boolean> add() {
return ResponseDTO.ok(letterService.add());
}
} }

7
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/dao/LetterDao.java

@ -30,4 +30,11 @@ public interface LetterDao extends BaseMapper<LetterEntity> {
*/ */
List<LetterVO> queryPage(Page page, @Param("queryForm") LetterQueryForm queryForm); List<LetterVO> queryPage(Page page, @Param("queryForm") LetterQueryForm queryForm);
/**
* 是否有承诺书
*
* @param userId
* @return
*/
int isLetter(Long userId);
} }

8
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/entity/LetterEntity.java

@ -24,8 +24,12 @@ public class LetterEntity {
* 承诺书id * 承诺书id
*/ */
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Integer letterId; private Long letterId;
/**
* 承诺书id
*/
private Long noticeId;
/** /**
* 排序 * 排序
*/ */
@ -44,7 +48,7 @@ public class LetterEntity {
/** /**
* 用户id * 用户id
*/ */
private Integer userId; private Long userId;
/** /**
* *

21
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterAddForm.java

@ -0,0 +1,21 @@
package net.lab1024.sa.admin.module.letter.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 承诺书签订表
*
* @Author wzh
* @Date 2025-12-22 17:43:06
* @Copyright 1
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LetterAddForm {
@Schema(description = "用户id")
private Long userId;
}

21
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryFormNoPage.java

@ -0,0 +1,21 @@
package net.lab1024.sa.admin.module.letter.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.lab1024.sa.base.common.domain.PageParam;
/**
* 承诺书签订表
*
* @Author wzh
* @Date 2025-12-22 17:43:06
* @Copyright 1
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LetterQueryFormNoPage {
@Schema(description = "用户id")
private Long userId;
}

13
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/vo/LetterVO.java

@ -3,6 +3,8 @@ package net.lab1024.sa.admin.module.letter.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
/** /**
* 承诺书签订表 列表VO * 承诺书签订表 列表VO
* *
@ -15,10 +17,15 @@ import lombok.Data;
public class LetterVO { public class LetterVO {
@Schema(description = "承诺书id") @Schema(description = "主鍵id")
private Long letterId; private Long letterId;
@Schema(description = "承诺书id")
private Long noticeId;
@Schema(description = "承诺书名称") @Schema(description = "承诺书名称")
private String letterName; private String letterName;
@Schema(description = "排序") @Schema(description = "排序")
private Integer sort; private Integer sort;
@ -30,6 +37,10 @@ public class LetterVO {
@Schema(description = "用户id") @Schema(description = "用户id")
private Long userId; private Long userId;
@Schema(description = "用户名称") @Schema(description = "用户名称")
private String userName; private String userName;
@Schema(description = "签约时间")
private LocalDateTime createTime;
} }

43
yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java

@ -2,17 +2,26 @@ package net.lab1024.sa.admin.module.letter.service;
import java.util.List; import java.util.List;
import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity;
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeService; import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeService;
import net.lab1024.sa.admin.module.letter.dao.LetterDao; import net.lab1024.sa.admin.module.letter.dao.LetterDao;
import net.lab1024.sa.admin.module.letter.domain.entity.LetterEntity;
import net.lab1024.sa.admin.module.letter.domain.form.LetterAddForm;
import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm;
import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryFormNoPage;
import net.lab1024.sa.admin.module.letter.domain.vo.LetterVO; import net.lab1024.sa.admin.module.letter.domain.vo.LetterVO;
import net.lab1024.sa.admin.module.system.employee.service.EmployeeService; import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
import net.lab1024.sa.admin.util.AdminRequestUtil;
import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil; import net.lab1024.sa.base.common.util.SmartPageUtil;
import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.module.support.helpdoc.domain.entity.HelpDocEntity;
import net.lab1024.sa.base.module.support.helpdoc.service.HelpDocService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
/** /**
* 承诺书签订表 Service * 承诺书签订表 Service
@ -31,7 +40,6 @@ public class LetterService {
private EmployeeService employeeService; private EmployeeService employeeService;
@Resource @Resource
private NoticeService noticeService; private NoticeService noticeService;
/** /**
* 分页查询 * 分页查询
*/ */
@ -41,10 +49,41 @@ public class LetterService {
//查询用户名称 //查询用户名称
list.forEach(item -> { list.forEach(item -> {
item.setUserName(employeeService.queryById(item.getUserId()).getActualName()); item.setUserName(employeeService.queryById(item.getUserId()).getActualName());
item.setLetterName(noticeService.queryById(item.getLetterId()).getTitle()); item.setLetterName(noticeService.queryById(item.getNoticeId()).getTitle());
}); });
return SmartPageUtil.convert2PageResult(page, list); return SmartPageUtil.convert2PageResult(page, list);
} }
/**
* 是否签署承诺书
* @param userId
* @return
*/
public Boolean isLetter(Long userId) {
//查询当前用户是否签署了承诺书
int letter = letterDao.isLetter(userId);
if (letter > 0){
return true;
}
return false;
}
/**
* 新增
*/
public Boolean add() {
Long userId = AdminRequestUtil.getRequestUser().getUserId();
LetterEntity letterEntity = new LetterEntity();
letterEntity.setUserId(userId);
NoticeEntity one = noticeService.getOne();
if (one != null) {
letterEntity.setNoticeId(one.getNoticeId());
}
int insert = letterDao.insert(letterEntity);
if (insert <= 0) {
return false;
}
return true;
}
} }

2
yun-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginResultVO.java

@ -35,4 +35,6 @@ public class LoginResultVO extends RequestEmployee {
@Schema(description = "上次登录时间") @Schema(description = "上次登录时间")
private LocalDateTime lastLoginTime; private LocalDateTime lastLoginTime;
@Schema(description = "协议书签订状态")
private Boolean agreementSignFlag;
} }

6
yun-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java

@ -7,6 +7,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.extra.servlet.ServletUtil; import cn.hutool.extra.servlet.ServletUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.letter.service.LetterService;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService; import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity;
import net.lab1024.sa.admin.module.system.employee.service.EmployeeService; import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
@ -108,6 +109,8 @@ public class LoginService implements StpInterface {
@Resource @Resource
private LoginManager loginManager; private LoginManager loginManager;
@Resource
private LetterService letterService;
/** /**
* 获取验证码 * 获取验证码
@ -216,7 +219,6 @@ public class LoginService implements StpInterface {
// 更新用户权限 // 更新用户权限
loginManager.loadUserPermission(employeeEntity.getEmployeeId()); loginManager.loadUserPermission(employeeEntity.getEmployeeId());
return ResponseDTO.ok(loginResultVO); return ResponseDTO.ok(loginResultVO);
} }
@ -255,6 +257,8 @@ public class LoginService implements StpInterface {
//查询执业证号 //查询执业证号
loginResultVO.setLicenseNumber(employeeService.getById(requestEmployee.getUserId()).getCertificateNumber()); loginResultVO.setLicenseNumber(employeeService.getById(requestEmployee.getUserId()).getCertificateNumber());
//承诺书签订状态
loginResultVO.setAgreementSignFlag(letterService.isLetter(requestEmployee.getEmployeeId()));
return loginResultVO; return loginResultVO;
} }

2
yun-admin/src/main/resources/dev/application.yaml

@ -12,7 +12,7 @@ project:
# 项目端口和url根路径 # 项目端口和url根路径
server: server:
port: 1024 port: 8080
servlet: servlet:
context-path: / context-path: /

5
yun-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml

@ -253,6 +253,11 @@
from t_notice from t_notice
where notice_id = #{noticeId} where notice_id = #{noticeId}
</select> </select>
<select id="getOne" resultType="net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity">
select *
from t_notice
where notice_id = #{noticeId}
</select>
<insert id="insertViewRecord"> <insert id="insertViewRecord">
insert into t_notice_view_record (notice_id, employee_id, first_ip, first_user_agent, page_view_count) insert into t_notice_view_record (notice_id, employee_id, first_ip, first_user_agent, page_view_count)
values (#{noticeId}, #{employeeId}, #{ip}, #{userAgent}, #{pageViewCount}) values (#{noticeId}, #{employeeId}, #{ip}, #{userAgent}, #{pageViewCount})

9
yun-admin/src/main/resources/mapper/letter/LetterMapper.xml

@ -5,6 +5,7 @@
<!-- 查询结果列 --> <!-- 查询结果列 -->
<sql id="base_columns"> <sql id="base_columns">
t_letter.letter_id, t_letter.letter_id,
t_letter.notice_id,
t_letter.sort, t_letter.sort,
t_letter.disabled_flag, t_letter.disabled_flag,
t_letter.deleted_flag, t_letter.deleted_flag,
@ -19,6 +20,14 @@
<include refid="base_columns"/> <include refid="base_columns"/>
FROM t_letter FROM t_letter
</select> </select>
<select id="isLetter" resultType="java.lang.Integer">
SELECT
COUNT(1)
FROM t_letter
WHERE t_letter.user_id = #{userId}
AND t_letter.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
</select>
</mapper> </mapper>

2
yun-admin/src/main/resources/pre/application.yaml

@ -8,7 +8,7 @@
# 项目配置: 名称、日志目录 # 项目配置: 名称、日志目录
project: project:
name: yun-admin name: yun-admin
log-directory: /home/logs/smart_admin_v3/${project.name}/${spring.profiles.active} log-directory: /home/logs/${project.name}/${project.name}/${spring.profiles.active}
# 项目端口和url根路径 # 项目端口和url根路径
server: server:

4
yun-admin/src/main/resources/prod/application.yaml

@ -8,11 +8,11 @@
# 项目配置: 名称、日志目录 # 项目配置: 名称、日志目录
project: project:
name: yun-admin name: yun-admin
log-directory: /home/logs/smart_admin_v3/${project.name}/${spring.profiles.active} log-directory: /home/logs/${project.name}/${spring.profiles.active}
# 项目端口和url根路径 # 项目端口和url根路径
server: server:
port: 1024 port: 8080
servlet: servlet:
context-path: / context-path: /

6
yun-admin/target/classes/application.yaml

@ -8,15 +8,15 @@
# 项目配置: 名称、日志目录 # 项目配置: 名称、日志目录
project: project:
name: yun-admin name: yun-admin
log-directory: ${localPath:/home}/logs/smart_admin_v3/yun-admin/${spring.profiles.active} log-directory: /home/logs/yun-admin/${spring.profiles.active}
# 项目端口和url根路径 # 项目端口和url根路径
server: server:
port: 1024 port: 8080
servlet: servlet:
context-path: / context-path: /
# 环境 # 环境
spring: spring:
profiles: profiles:
active: 'dev' active: 'prod'

7
yun-admin/target/classes/log4j2-spring.xml

@ -10,8 +10,7 @@
<Appenders> <Appenders>
<Console name="Console" target="SYSTEM_OUT"> <Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%blue{%d}][%highlight{%-5p}][%t][%cyan{%c{1.}:%L}] %m %n" <PatternLayout pattern="[%d][%-5p][%t][%c{1.}:%L] %m %n"/>
disableAnsi="false" noConsoleNoAnsi="false"/>
</Console> </Console>
<RollingFile name="debug" fileName="${log-directory}/debug/debug.log" <RollingFile name="debug" fileName="${log-directory}/debug/debug.log"
filePattern="${log-directory}/debug/debug-%d{yyyy-MM-dd}-%i.log"> filePattern="${log-directory}/debug/debug-%d{yyyy-MM-dd}-%i.log">
@ -102,10 +101,12 @@
</Appenders> </Appenders>
<Loggers> <Loggers>
<logger name="com.alibaba.druid.filter.stat.StatFilter" level="ERROR" additivity="false"> <logger name="com.alibaba.druid.filter.stat.StatFilter" level="ERROR" additivity="false">
<AppenderRef ref="druidSlowSqlLog"/> <AppenderRef ref="druidSlowSqlLog"/>
</logger> </logger>
<Root level="debug">
<Root level="warn">
<AppenderRef ref="Console"/> <AppenderRef ref="Console"/>
<AppenderRef ref="debug"/> <AppenderRef ref="debug"/>
<AppenderRef ref="info"/> <AppenderRef ref="info"/>

5
yun-admin/target/classes/mapper/business/oa/notice/NoticeMapper.xml

@ -253,6 +253,11 @@
from t_notice from t_notice
where notice_id = #{noticeId} where notice_id = #{noticeId}
</select> </select>
<select id="getOne" resultType="net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity">
select *
from t_notice
where notice_id = #{noticeId}
</select>
<insert id="insertViewRecord"> <insert id="insertViewRecord">
insert into t_notice_view_record (notice_id, employee_id, first_ip, first_user_agent, page_view_count) insert into t_notice_view_record (notice_id, employee_id, first_ip, first_user_agent, page_view_count)
values (#{noticeId}, #{employeeId}, #{ip}, #{userAgent}, #{pageViewCount}) values (#{noticeId}, #{employeeId}, #{ip}, #{userAgent}, #{pageViewCount})

9
yun-admin/target/classes/mapper/letter/LetterMapper.xml

@ -5,6 +5,7 @@
<!-- 查询结果列 --> <!-- 查询结果列 -->
<sql id="base_columns"> <sql id="base_columns">
t_letter.letter_id, t_letter.letter_id,
t_letter.notice_id,
t_letter.sort, t_letter.sort,
t_letter.disabled_flag, t_letter.disabled_flag,
t_letter.deleted_flag, t_letter.deleted_flag,
@ -19,6 +20,14 @@
<include refid="base_columns"/> <include refid="base_columns"/>
FROM t_letter FROM t_letter
</select> </select>
<select id="isLetter" resultType="java.lang.Integer">
SELECT
COUNT(1)
FROM t_letter
WHERE t_letter.user_id = #{userId}
AND t_letter.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
</select>
</mapper> </mapper>

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/letter/controller/LetterController.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/letter/dao/LetterDao.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/letter/domain/entity/LetterEntity.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/letter/domain/vo/LetterVO.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/letter/service/LetterService.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/system/login/domain/LoginResultVO.class

Binary file not shown.

BIN
yun-admin/target/classes/net/lab1024/sa/admin/module/system/login/service/LoginService.class

Binary file not shown.

18
yun-admin/target/classes/spy.properties

@ -1,18 +0,0 @@
#相关的包
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
# 日志格式
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台
appender=com.p6spy.engine.spy.appender.StdoutLogger
# 设置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 开启慢sql
outagedetection=true
# 慢SQL记录标准(单位秒)
outagedetectioninterval=2

9
yun-base/src/main/java/net/lab1024/sa/base/config/CorsFilterConfig.java

@ -10,12 +10,7 @@ import org.springframework.web.filter.CorsFilter;
/** /**
* 跨域配置 * 跨域配置
*
* @Author 1024创新实验室: 罗伊
* @Date 2021/11/15 20:38
* @Wechat zhuoda1024
* @Email lab1024@163.com
* @Copyright <a href="https://1024lab.net">1024创新实验室</a>
*/ */
@Configuration @Configuration
@Conditional(SystemEnvironmentConfig.class) @Conditional(SystemEnvironmentConfig.class)
@ -33,7 +28,7 @@ public class CorsFilterConfig {
CorsConfiguration config = new CorsConfiguration(); CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true); config.setAllowCredentials(true);
// 设置访问源地址 // 设置访问源地址
config.addAllowedOriginPattern(accessControlAllowOrigin); config.addAllowedOrigin(accessControlAllowOrigin);
// 设置访问源请求头 // 设置访问源请求头
config.addAllowedHeader("*"); config.addAllowedHeader("*");
// 设置访问源请求方法 // 设置访问源请求方法

6
yun-base/src/main/java/net/lab1024/sa/base/config/SystemEnvironmentConfig.java

@ -13,12 +13,6 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
/** /**
* 系统环境 * 系统环境
*
* @Author 1024创新实验室-主任: 卓大
* @Date 2021/08/13 18:56
* @Wechat zhuoda1024
* @Email lab1024@163.com
* @Copyright <a href="https://1024lab.net">1024创新实验室</a>
*/ */
@Configuration @Configuration
public class SystemEnvironmentConfig implements Condition { public class SystemEnvironmentConfig implements Condition {

9
yun-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/service/HelpDocService.java

@ -1,5 +1,6 @@
package net.lab1024.sa.base.module.support.helpdoc.service; package net.lab1024.sa.base.module.support.helpdoc.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.PageResult;
import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.domain.ResponseDTO;
@ -117,4 +118,12 @@ public class HelpDocService {
public List<HelpDocVO> queryHelpDocByRelationId(Long relationId) { public List<HelpDocVO> queryHelpDocByRelationId(Long relationId) {
return helpDocDao.queryHelpDocByRelationId(relationId); return helpDocDao.queryHelpDocByRelationId(relationId);
} }
public HelpDocEntity getOne() {
//获取第一条承诺书
HelpDocEntity helpDocEntity = helpDocDao.selectOne(
new LambdaQueryWrapper<HelpDocEntity>()
.orderByAsc(HelpDocEntity::getSort).last("limit 1"));
return helpDocEntity;
}
} }

10
yun-base/src/main/resources/prod/yun-base.yaml

@ -1,9 +1,9 @@
spring: spring:
# 数据库连接信息 # 数据库连接信息
datasource: datasource:
url: jdbc:mysql://127.0.0.1:3306/smart_admin_v3?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://8.148.67.92:3306/lawyer_welfare?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: sdy@2025#
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
initial-size: 10 initial-size: 10
min-idle: 10 min-idle: 10
@ -23,9 +23,9 @@ spring:
# redis 连接池配置信息 # redis 连接池配置信息
redis: redis:
database: 1 database: 1
host: 127.0.0.1 host: 8.148.67.92
port: 6379 port: 6379
password: password: sdy@2025#
timeout: 10000ms timeout: 10000ms
lettuce: lettuce:
pool: pool:
@ -133,6 +133,8 @@ http:
read-timeout: 50000 read-timeout: 50000
write-timeout: 50000 write-timeout: 50000
keep-alive: 300000 keep-alive: 300000
# 跨域配置
access-control-allow-origin: '*'
# 心跳配置 # 心跳配置
heart-beat: heart-beat:

BIN
yun-base/target/classes/net/lab1024/sa/base/config/CorsFilterConfig.class

Binary file not shown.

BIN
yun-base/target/classes/net/lab1024/sa/base/config/SystemEnvironmentConfig.class

Binary file not shown.

BIN
yun-base/target/classes/net/lab1024/sa/base/listener/WebServerListener.class

Binary file not shown.

BIN
yun-base/target/classes/net/lab1024/sa/base/module/support/helpdoc/service/HelpDocService.class

Binary file not shown.

37
yun-base/target/classes/yun-base.yaml

@ -1,13 +1,13 @@
spring: spring:
# 数据库连接信息 # 数据库连接信息
datasource: datasource:
url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v3?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&connectionCollation=utf8mb4_general_ci url: jdbc:mysql://8.148.67.92:3306/lawyer_welfare?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: sdy@2025#
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.mysql.cj.jdbc.Driver
initial-size: 2 initial-size: 10
min-idle: 2 min-idle: 10
max-active: 10 max-active: 200
max-wait: 60000 max-wait: 60000
time-between-eviction-runs-millis: 60000 time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000 min-evictable-idle-time-millis: 300000
@ -23,17 +23,16 @@ spring:
# redis 连接池配置信息 # redis 连接池配置信息
redis: redis:
database: 1 database: 1
host: 127.0.0.1 host: 8.148.67.92
port: 6379 port: 6379
password: password: sdy@2025#
timeout: 10000ms timeout: 10000ms
lettuce: lettuce:
pool: pool:
max-active: 5 max-active: 100
min-idle: 1 min-idle: 10
max-idle: 3 max-idle: 50
max-wait: 30000ms max-wait: 30000ms
# 邮件,置以SSL的方式发送, 这个需要使用这种方式并且端口是465 # 邮件,置以SSL的方式发送, 这个需要使用这种方式并且端口是465
mail: mail:
host: smtp.163.com host: smtp.163.com
@ -90,9 +89,10 @@ server:
basedir: ${project.log-directory}/tomcat-logs basedir: ${project.log-directory}/tomcat-logs
accesslog: accesslog:
enabled: true enabled: true
max-days: 7 max-days: 30
pattern: "%t %{X-Forwarded-For}i %a %r %s (%D ms) %I (%B byte)" pattern: "%t %{X-Forwarded-For}i %a %r %s (%D ms) %I (%B byte)"
# 文件上传 配置 # 文件上传 配置
file: file:
storage: storage:
@ -128,22 +128,21 @@ knife4j:
# RestTemplate 请求配置 毫秒 # RestTemplate 请求配置 毫秒
http: http:
pool: pool:
max-total: 20 max-total: 100
connect-timeout: 50000 connect-timeout: 50000
read-timeout: 50000 read-timeout: 50000
write-timeout: 50000 write-timeout: 50000
keep-alive: 300000 keep-alive: 300000
# 跨域配置 # 跨域配置
access-control-allow-origin: '*' access-control-allow-origin: '*'
# 心跳配置 # 心跳配置
heart-beat: heart-beat:
interval-seconds: 300 interval-seconds: 60
# 热加载配置 # 热加载配置
reload: reload:
interval-seconds: 300 interval-seconds: 60
# sa-token 配置 # sa-token 配置
sa-token: sa-token:
@ -164,9 +163,9 @@ sa-token:
# 是否打开自动续签 (如果此值为true,框架会在每次直接或间接调用 getLoginId() 时进行一次过期检查与续签操作) # 是否打开自动续签 (如果此值为true,框架会在每次直接或间接调用 getLoginId() 时进行一次过期检查与续签操作)
auto-renew: true auto-renew: true
# 是否输出操作日志 # 是否输出操作日志
is-log: true is-log: false
# 日志等级(trace、debug、info、warn、error、fatal) # 日志等级(trace、debug、info、warn、error、fatal)
log-level: debug log-level: warn
# 启动时的字符画打印 # 启动时的字符画打印
is-print: false is-print: false
# 是否从cookie读取token # 是否从cookie读取token

Loading…
Cancel
Save