no message

main
HUOJIN\92525 2025-04-11 13:42:22 +08:00
parent 8e0b08ac50
commit 5931258a9c
18 changed files with 136 additions and 53 deletions

View File

@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>net.1024lab</groupId> <groupId>net.lab1024</groupId>
<artifactId>sa-parent</artifactId> <artifactId>sa-parent</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
@ -10,9 +10,9 @@
<name>sa-parent</name> <name>sa-parent</name>
<description>SmartAdmin project</description> <description>SmartAdmin project</description>
<modules> <modules>
<module>sa-base</module> <module>sa-base</module>
<module>sa-admin</module> <module>sa-admin</module>
</modules> </modules>
<properties> <properties>
@ -22,7 +22,7 @@
<springboot.version>3.3.1</springboot.version> <springboot.version>3.3.1</springboot.version>
<spring-mock.version>2.0.8</spring-mock.version> <spring-mock.version>2.0.8</spring-mock.version>
<spring-security-crypto.version>6.4.3</spring-security-crypto.version> <spring-security-crypto.version>6.4.3</spring-security-crypto.version>
<mybatis-plus.version>3.5.7</mybatis-plus.version> <mybatis-plus.version>3.5.5</mybatis-plus.version>
<p6spy.version>3.9.1</p6spy.version> <p6spy.version>3.9.1</p6spy.version>
<knife4j.version>4.4.0</knife4j.version> <knife4j.version>4.4.0</knife4j.version>
<fastjson.version>2.0.52</fastjson.version> <fastjson.version>2.0.52</fastjson.version>
@ -60,6 +60,8 @@
<jsoup.version>1.18.1</jsoup.version> <jsoup.version>1.18.1</jsoup.version>
<tika.version>3.1.0</tika.version> <tika.version>3.1.0</tika.version>
<jimureport-spring.version>1.9.4</jimureport-spring.version> <jimureport-spring.version>1.9.4</jimureport-spring.version>
<jimureport-nosql.version>1.9.4.1</jimureport-nosql.version>
<jimubi-spring.version>1.9.4</jimubi-spring.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>
@ -346,6 +348,18 @@
<version>${jimureport-spring.version}</version> <version>${jimureport-spring.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-nosql-starter</artifactId>
<version>${jimureport-nosql.version}</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimubi-spring-boot3-starter</artifactId>
<version>${jimubi-spring.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

View File

@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>net.1024lab</groupId> <groupId>net.lab1024</groupId>
<artifactId>sa-parent</artifactId> <artifactId>sa-parent</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
@ -18,7 +18,7 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>net.1024lab</groupId> <groupId>net.lab1024</groupId>
<artifactId>sa-base</artifactId> <artifactId>sa-base</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
</dependency> </dependency>

View File

@ -24,11 +24,11 @@ public class MvcConfig implements WebMvcConfigurer {
private AdminInterceptor adminInterceptor; private AdminInterceptor adminInterceptor;
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(adminInterceptor) registry.addInterceptor(adminInterceptor)
.excludePathPatterns(SwaggerConfig.SWAGGER_WHITELIST) .excludePathPatterns(SwaggerConfig.SWAGGER_WHITELIST)
.excludePathPatterns("/jmreport/**", "/jimubi/**")
.addPathPatterns("/**"); .addPathPatterns("/**");
} }

View File

@ -51,6 +51,8 @@ public class AdminSwaggerTagConst extends SwaggerTagConst {
public static final String SYSTEM_POSITION = "系统-职务管理"; public static final String SYSTEM_POSITION = "系统-职务管理";
public static final String SYSTEM_MESSAGE = "系统-消息";
} }

View File

@ -1,5 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.bank; package net.lab1024.sa.admin.module.business.oa.bank;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -35,24 +36,28 @@ public class BankController {
@Operation(summary = "分页查询银行信息 @author 善逸") @Operation(summary = "分页查询银行信息 @author 善逸")
@PostMapping("/oa/bank/page/query") @PostMapping("/oa/bank/page/query")
@SaCheckPermission("oa:bank:query")
public ResponseDTO<PageResult<BankVO>> queryByPage(@RequestBody @Valid BankQueryForm queryForm) { public ResponseDTO<PageResult<BankVO>> queryByPage(@RequestBody @Valid BankQueryForm queryForm) {
return bankService.queryByPage(queryForm); return bankService.queryByPage(queryForm);
} }
@Operation(summary = "根据企业ID查询银行信息列表 @author 善逸") @Operation(summary = "根据企业ID查询银行信息列表 @author 善逸")
@GetMapping("/oa/bank/query/list/{enterpriseId}") @GetMapping("/oa/bank/query/list/{enterpriseId}")
@SaCheckPermission("oa:bank:query")
public ResponseDTO<List<BankVO>> queryList(@PathVariable Long enterpriseId) { public ResponseDTO<List<BankVO>> queryList(@PathVariable Long enterpriseId) {
return bankService.queryList(enterpriseId); return bankService.queryList(enterpriseId);
} }
@Operation(summary = "查询银行信息详情 @author 善逸") @Operation(summary = "查询银行信息详情 @author 善逸")
@GetMapping("/oa/bank/get/{bankId}") @GetMapping("/oa/bank/get/{bankId}")
@SaCheckPermission("oa:bank:query")
public ResponseDTO<BankVO> getDetail(@PathVariable Long bankId) { public ResponseDTO<BankVO> getDetail(@PathVariable Long bankId) {
return bankService.getDetail(bankId); return bankService.getDetail(bankId);
} }
@Operation(summary = "新建银行信息 @author 善逸") @Operation(summary = "新建银行信息 @author 善逸")
@PostMapping("/oa/bank/create") @PostMapping("/oa/bank/create")
@SaCheckPermission("oa:bank:add")
public ResponseDTO<String> createBank(@RequestBody @Valid BankCreateForm createVO) { public ResponseDTO<String> createBank(@RequestBody @Valid BankCreateForm createVO) {
RequestUser requestUser = SmartRequestUtil.getRequestUser(); RequestUser requestUser = SmartRequestUtil.getRequestUser();
createVO.setCreateUserId(requestUser.getUserId()); createVO.setCreateUserId(requestUser.getUserId());
@ -62,12 +67,14 @@ public class BankController {
@Operation(summary = "编辑银行信息 @author 善逸") @Operation(summary = "编辑银行信息 @author 善逸")
@PostMapping("/oa/bank/update") @PostMapping("/oa/bank/update")
@SaCheckPermission("oa:bank:update")
public ResponseDTO<String> updateBank(@RequestBody @Valid BankUpdateForm updateVO) { public ResponseDTO<String> updateBank(@RequestBody @Valid BankUpdateForm updateVO) {
return bankService.updateBank(updateVO); return bankService.updateBank(updateVO);
} }
@Operation(summary = "删除银行信息 @author 善逸") @Operation(summary = "删除银行信息 @author 善逸")
@GetMapping("/oa/bank/delete/{bankId}") @GetMapping("/oa/bank/delete/{bankId}")
@SaCheckPermission("oa:bank:delete")
public ResponseDTO<String> deleteBank(@PathVariable Long bankId) { public ResponseDTO<String> deleteBank(@PathVariable Long bankId) {
return bankService.deleteBank(bankId); return bankService.deleteBank(bankId);
} }

View File

@ -100,6 +100,7 @@ public class EnterpriseController {
@Operation(summary = "按照类型查询企业 @author 开云") @Operation(summary = "按照类型查询企业 @author 开云")
@GetMapping("/oa/enterprise/query/list") @GetMapping("/oa/enterprise/query/list")
@SaCheckPermission("oa:enterprise:query")
public ResponseDTO<List<EnterpriseListVO>> queryList(@RequestParam(value = "type", required = false) Integer type) { public ResponseDTO<List<EnterpriseListVO>> queryList(@RequestParam(value = "type", required = false) Integer type) {
return enterpriseService.queryList(type); return enterpriseService.queryList(type);
} }
@ -114,12 +115,14 @@ public class EnterpriseController {
@Operation(summary = "查询企业全部员工 @author 罗伊") @Operation(summary = "查询企业全部员工 @author 罗伊")
@PostMapping("/oa/enterprise/employee/list") @PostMapping("/oa/enterprise/employee/list")
@SaCheckPermission("oa:enterprise:queryEmployee")
public ResponseDTO<List<EnterpriseEmployeeVO>> employeeList(@RequestBody @Valid List<Long> enterpriseIdList) { public ResponseDTO<List<EnterpriseEmployeeVO>> employeeList(@RequestBody @Valid List<Long> enterpriseIdList) {
return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList)); return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList));
} }
@Operation(summary = "分页查询企业员工 @author 卓大") @Operation(summary = "分页查询企业员工 @author 卓大")
@PostMapping("/oa/enterprise/employee/queryPage") @PostMapping("/oa/enterprise/employee/queryPage")
@SaCheckPermission("oa:enterprise:queryEmployee")
public ResponseDTO<PageResult<EnterpriseEmployeeVO>> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) { public ResponseDTO<PageResult<EnterpriseEmployeeVO>> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) {
return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm)); return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm));
} }

View File

@ -1,5 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.invoice; package net.lab1024.sa.admin.module.business.oa.invoice;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -38,18 +39,21 @@ public class InvoiceController {
@Operation(summary = "分页查询发票信息 @author 善逸") @Operation(summary = "分页查询发票信息 @author 善逸")
@PostMapping("/oa/invoice/page/query") @PostMapping("/oa/invoice/page/query")
@SaCheckPermission("oa:invoice:query")
public ResponseDTO<PageResult<InvoiceVO>> queryByPage(@RequestBody @Valid InvoiceQueryForm queryForm) { public ResponseDTO<PageResult<InvoiceVO>> queryByPage(@RequestBody @Valid InvoiceQueryForm queryForm) {
return invoiceService.queryByPage(queryForm); return invoiceService.queryByPage(queryForm);
} }
@Operation(summary = "查询发票信息详情 @author 善逸") @Operation(summary = "查询发票信息详情 @author 善逸")
@GetMapping("/oa/invoice/get/{invoiceId}") @GetMapping("/oa/invoice/get/{invoiceId}")
@SaCheckPermission("oa:invoice:query")
public ResponseDTO<InvoiceVO> getDetail(@PathVariable Long invoiceId) { public ResponseDTO<InvoiceVO> getDetail(@PathVariable Long invoiceId) {
return invoiceService.getDetail(invoiceId); return invoiceService.getDetail(invoiceId);
} }
@Operation(summary = "新建发票信息 @author 善逸") @Operation(summary = "新建发票信息 @author 善逸")
@PostMapping("/oa/invoice/create") @PostMapping("/oa/invoice/create")
@SaCheckPermission("oa:invoice:add")
public ResponseDTO<String> createInvoice(@RequestBody @Valid InvoiceAddForm createVO) { public ResponseDTO<String> createInvoice(@RequestBody @Valid InvoiceAddForm createVO) {
RequestUser requestUser = SmartRequestUtil.getRequestUser(); RequestUser requestUser = SmartRequestUtil.getRequestUser();
createVO.setCreateUserId(requestUser.getUserId()); createVO.setCreateUserId(requestUser.getUserId());
@ -57,21 +61,24 @@ public class InvoiceController {
return invoiceService.createInvoice(createVO); return invoiceService.createInvoice(createVO);
} }
@OperateLog
@Operation(summary = "编辑发票信息 @author 善逸") @Operation(summary = "编辑发票信息 @author 善逸")
@PostMapping("/oa/invoice/update") @PostMapping("/oa/invoice/update")
@OperateLog @SaCheckPermission("oa:invoice:update")
public ResponseDTO<String> updateInvoice(@RequestBody @Valid InvoiceUpdateForm updateVO) { public ResponseDTO<String> updateInvoice(@RequestBody @Valid InvoiceUpdateForm updateVO) {
return invoiceService.updateInvoice(updateVO); return invoiceService.updateInvoice(updateVO);
} }
@Operation(summary = "删除发票信息 @author 善逸") @Operation(summary = "删除发票信息 @author 善逸")
@GetMapping("/invoice/delete/{invoiceId}") @GetMapping("/invoice/delete/{invoiceId}")
@SaCheckPermission("oa:invoice:delete")
public ResponseDTO<String> deleteInvoice(@PathVariable Long invoiceId) { public ResponseDTO<String> deleteInvoice(@PathVariable Long invoiceId) {
return invoiceService.deleteInvoice(invoiceId); return invoiceService.deleteInvoice(invoiceId);
} }
@Operation(summary = "查询列表 @author lidoudou") @Operation(summary = "查询列表 @author lidoudou")
@GetMapping("/oa/invoice/query/list/{enterpriseId}") @GetMapping("/oa/invoice/query/list/{enterpriseId}")
@SaCheckPermission("oa:invoice:query")
public ResponseDTO<List<InvoiceVO>> queryList(@PathVariable Long enterpriseId) { public ResponseDTO<List<InvoiceVO>> queryList(@PathVariable Long enterpriseId) {
return invoiceService.queryList(enterpriseId); return invoiceService.queryList(enterpriseId);
} }

View File

@ -3,7 +3,6 @@ package net.lab1024.sa.admin.module.business.wms.jimuReport;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class JimuReportTokenServiceImpl implements JmReportTokenServiceI { public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
/** /**

View File

@ -0,0 +1,54 @@
package net.lab1024.sa.admin.module.system.message;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.base.common.domain.PageResult;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.ValidateList;
import net.lab1024.sa.base.module.support.message.domain.MessageQueryForm;
import net.lab1024.sa.base.module.support.message.domain.MessageSendForm;
import net.lab1024.sa.base.module.support.message.domain.MessageVO;
import net.lab1024.sa.base.module.support.message.service.MessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
*
*
* @author:
* @date: 2025/04/09 20:55
*/
@Tag(name = AdminSwaggerTagConst.System.SYSTEM_MESSAGE)
@RestController
public class AdminMessageController {
@Autowired
private MessageService messageService;
@Operation(summary = "通知消息-新建 @author 卓大")
@PostMapping("/message/sendMessages")
@SaCheckPermission("system:message:send")
public ResponseDTO<String> sendMessages(@RequestBody @Valid ValidateList<MessageSendForm> messageList) {
messageService.sendMessage(messageList);
return ResponseDTO.ok();
}
@Operation(summary = "通知消息-分页查询 @author 卓大")
@PostMapping("/message/query")
@SaCheckPermission("system:message:query")
public ResponseDTO<PageResult<MessageVO>> query(@RequestBody @Valid MessageQueryForm queryForm) {
return ResponseDTO.ok(messageService.query(queryForm));
}
@Operation(summary = "通知消息-删除 @author 卓大")
@GetMapping("/message/delete/{messageId}")
@SaCheckPermission("system:message:delete")
public ResponseDTO<String> delete(@PathVariable Long messageId) {
return messageService.delete(messageId);
}
}

View File

@ -52,43 +52,43 @@ public class AdminDictController extends SupportBaseController {
@Operation(summary = "分页查询 @author 1024创新实验室-主任-卓大") @Operation(summary = "分页查询 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/queryPage") @PostMapping("/dict/queryPage")
@SaCheckPermission("dict:query") @SaCheckPermission("support:dict:query")
public ResponseDTO<PageResult<DictVO>> queryPage(@RequestBody @Valid DictQueryForm queryForm) { public ResponseDTO<PageResult<DictVO>> queryPage(@RequestBody @Valid DictQueryForm queryForm) {
return ResponseDTO.ok(dictService.queryPage(queryForm)); return ResponseDTO.ok(dictService.queryPage(queryForm));
} }
@Operation(summary = "添加 @author 1024创新实验室-主任-卓大") @Operation(summary = "添加 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/add") @PostMapping("/dict/add")
@SaCheckPermission("dict:add") @SaCheckPermission("support:dict:add")
public ResponseDTO<String> add(@RequestBody @Valid DictAddForm addForm) { public ResponseDTO<String> add(@RequestBody @Valid DictAddForm addForm) {
return dictService.add(addForm); return dictService.add(addForm);
} }
@Operation(summary = "更新 @author 1024创新实验室-主任-卓大") @Operation(summary = "更新 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/update") @PostMapping("/dict/update")
@SaCheckPermission("dict:update") @SaCheckPermission("support:dict:update")
public ResponseDTO<String> update(@RequestBody @Valid DictUpdateForm updateForm) { public ResponseDTO<String> update(@RequestBody @Valid DictUpdateForm updateForm) {
return dictService.update(updateForm); return dictService.update(updateForm);
} }
@Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") @Operation(summary = "启用/禁用 @author 1024创新实验室-主任-卓大")
@GetMapping("/dict/updateDisabled/{dictId}") @GetMapping("/dict/updateDisabled/{dictId}")
@SaCheckPermission("dictData:updateDisabled") @SaCheckPermission("support:dict:updateDisabled")
public ResponseDTO<String> updateDisabled(@PathVariable Long dictId) { public ResponseDTO<String> updateDisabled(@PathVariable Long dictId) {
return dictService.updateDisabled(dictId); return dictService.updateDisabled(dictId);
} }
@Operation(summary = "批量删除 @author 1024创新实验室-主任-卓大") @Operation(summary = "批量删除 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/batchDelete") @PostMapping("/dict/batchDelete")
@SaCheckPermission("dict:delete") @SaCheckPermission("support:dict:delete")
public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) { public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) {
return dictService.batchDelete(idList); return dictService.batchDelete(idList);
} }
@Operation(summary = "单个删除 @author 1024创新实验室-主任-卓大") @Operation(summary = "单个删除 @author 1024创新实验室-主任-卓大")
@GetMapping("/dict/delete/{dictId}") @GetMapping("/dict/delete/{dictId}")
@SaCheckPermission("dict:delete") @SaCheckPermission("support:dict:delete")
public ResponseDTO<String> batchDelete(@PathVariable Long dictId) { public ResponseDTO<String> delete(@PathVariable Long dictId) {
return dictService.delete(dictId); return dictService.delete(dictId);
} }
@ -96,42 +96,42 @@ public class AdminDictController extends SupportBaseController {
@Operation(summary = "字典数据 分页查询 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 分页查询 @author 1024创新实验室-主任-卓大")
@GetMapping("/dict/dictData/queryDictData/{dictId}") @GetMapping("/dict/dictData/queryDictData/{dictId}")
@SaCheckPermission("dictData:query") @SaCheckPermission("support:dictData:query")
public ResponseDTO<List<DictDataVO>> queryDictData(@PathVariable Long dictId) { public ResponseDTO<List<DictDataVO>> queryDictData(@PathVariable Long dictId) {
return ResponseDTO.ok(dictService.queryDictData(dictId)); return ResponseDTO.ok(dictService.queryDictData(dictId));
} }
@Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大")
@GetMapping("/dict/dictData/updateDisabled/{dictDataId}") @GetMapping("/dict/dictData/updateDisabled/{dictDataId}")
@SaCheckPermission("dictData:updateDisabled") @SaCheckPermission("support:dictData:updateDisabled")
public ResponseDTO<String> updateDictDataDisabled(@PathVariable Long dictDataId) { public ResponseDTO<String> updateDictDataDisabled(@PathVariable Long dictDataId) {
return dictService.updateDictDataDisabled(dictDataId); return dictService.updateDictDataDisabled(dictDataId);
} }
@Operation(summary = "字典数据 添加 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 添加 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/dictData/add") @PostMapping("/dict/dictData/add")
@SaCheckPermission("dictData:add") @SaCheckPermission("support:dictData:add")
public ResponseDTO<String> addDictData(@RequestBody @Valid DictDataAddForm addForm) { public ResponseDTO<String> addDictData(@RequestBody @Valid DictDataAddForm addForm) {
return dictService.addDictData(addForm); return dictService.addDictData(addForm);
} }
@Operation(summary = "字典数据 更新 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 更新 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/dictData/update") @PostMapping("/dict/dictData/update")
@SaCheckPermission("dictData:update") @SaCheckPermission("support:dictData:update")
public ResponseDTO<String> updateDictData(@RequestBody @Valid DictDataUpdateForm updateForm) { public ResponseDTO<String> updateDictData(@RequestBody @Valid DictDataUpdateForm updateForm) {
return dictService.updateDictData(updateForm); return dictService.updateDictData(updateForm);
} }
@Operation(summary = "字典数据 批量删除 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 批量删除 @author 1024创新实验室-主任-卓大")
@PostMapping("/dict/dictData/batchDelete") @PostMapping("/dict/dictData/batchDelete")
@SaCheckPermission("dictData:delete") @SaCheckPermission("support:dictData:delete")
public ResponseDTO<String> batchDeleteDictData(@RequestBody ValidateList<Long> idList) { public ResponseDTO<String> batchDeleteDictData(@RequestBody ValidateList<Long> idList) {
return dictService.batchDeleteDictData(idList); return dictService.batchDeleteDictData(idList);
} }
@Operation(summary = "字典数据 单个删除 @author 1024创新实验室-主任-卓大") @Operation(summary = "字典数据 单个删除 @author 1024创新实验室-主任-卓大")
@GetMapping("/dict/dictData/delete/{dictDataId}") @GetMapping("/dict/dictData/delete/{dictDataId}")
@SaCheckPermission("dictData:delete") @SaCheckPermission("support:dictData:delete")
public ResponseDTO<String> deleteDictData(@PathVariable Long dictDataId) { public ResponseDTO<String> deleteDictData(@PathVariable Long dictDataId) {
return dictService.deleteDictData(dictDataId); return dictService.deleteDictData(dictDataId);
} }

View File

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

View File

@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>net.1024lab</groupId> <groupId>net.lab1024</groupId>
<artifactId>sa-parent</artifactId> <artifactId>sa-parent</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
@ -294,6 +294,16 @@
<artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId> <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-nosql-starter</artifactId>
</dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimubi-spring-boot3-starter</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -66,8 +66,6 @@ public class WebServerListener implements ApplicationListener<WebServerInitializ
String externalUrl = URLUtil.normalize(String.format("http://%s:%d%s", ip, port, contextPath), false, true); String externalUrl = URLUtil.normalize(String.format("http://%s:%d%s", ip, port, contextPath), false, true);
String swaggerUrl = URLUtil.normalize(String.format("http://localhost:%d%s/swagger-ui/index.html", port, contextPath), false, true); String swaggerUrl = URLUtil.normalize(String.format("http://localhost:%d%s/swagger-ui/index.html", port, contextPath), false, true);
String knife4jUrl = URLUtil.normalize(String.format("http://localhost:%d%s/doc.html", port, contextPath), false, true); String knife4jUrl = URLUtil.normalize(String.format("http://localhost:%d%s/doc.html", port, contextPath), false, true);
String jiMuReportUrl = URLUtil.normalize(String.format("http://localhost:%d%s/jmreport/list", port, contextPath), false, true);
log.warn("\n{}\n" + log.warn("\n{}\n" +
"\t当前启动环境:\t{} , {}" + "\t当前启动环境:\t{} , {}" +
"\n\t返回码初始化:\t完成{}个返回码初始化" + "\n\t返回码初始化:\t完成{}个返回码初始化" +
@ -75,9 +73,8 @@ public class WebServerListener implements ApplicationListener<WebServerInitializ
"\n\t服务外网地址:\t{}" + "\n\t服务外网地址:\t{}" +
"\n\tSwagger地址:\t{}" + "\n\tSwagger地址:\t{}" +
"\n\tknife4j地址:\t{}" + "\n\tknife4j地址:\t{}" +
"\n\t积木报表地址:\t{}" +
"\n-------------------------------------------------------------------------------------\n", "\n-------------------------------------------------------------------------------------\n",
title, profile, environmentEnum.getDesc(), codeCount, localhostUrl, externalUrl, swaggerUrl, knife4jUrl,jiMuReportUrl); title, profile, environmentEnum.getDesc(), codeCount, localhostUrl, externalUrl, swaggerUrl, knife4jUrl);
} }
/** /**

View File

@ -272,5 +272,4 @@ public class DictService {
return ResponseDTO.ok(); return ResponseDTO.ok();
} }
} }

View File

@ -36,9 +36,9 @@ public class MessageQueryForm extends PageParam {
@Schema(description = "查询结束时间") @Schema(description = "查询结束时间")
private LocalDate endDate; private LocalDate endDate;
@Schema(hidden = true) @Schema(description = "接收人")
private Long receiverUserId; private Long receiverUserId;
@Schema(hidden = true) @Schema(description = "接收人类型")
private Integer receiverUserType; private Integer receiverUserType;
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
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.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil; import net.lab1024.sa.base.common.util.SmartPageUtil;
@ -105,4 +106,13 @@ public class MessageService {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
messageManager.saveBatch(messageEntityList); messageManager.saveBatch(messageEntityList);
} }
// 删除消息
public ResponseDTO<String> delete(Long messageId) {
if(messageId == null){
return ResponseDTO.userErrorParam();
}
messageDao.deleteById(messageId);
return ResponseDTO.ok();
}
} }

View File

@ -167,23 +167,4 @@ smart:
# 数据库配置检测-开关 默认开启 可选(作用是固定间隔读取数据库配置更新任务,关闭后只能重启服务或通过接口修改定时任务,建议开启) # 数据库配置检测-开关 默认开启 可选(作用是固定间隔读取数据库配置更新任务,关闭后只能重启服务或通过接口修改定时任务,建议开启)
db-refresh-enabled: true db-refresh-enabled: true
# 数据库配置检测-执行间隔 默认120秒 可选 # 数据库配置检测-执行间隔 默认120秒 可选
db-refresh-interval: 60 db-refresh-interval: 60
jeecg :
jmreport:
#多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
saasMode: tenant
# 平台上线安全配置(v1.6.2+ 新增)
firewall:
# 数据源安全 (开启后不允许使用平台数据源、SQL解析不允许select * 查询、禁止测试数据源连接是否正确)
# 数据源安全下,预留角色有权限使用 select * 和测试数据源链接
dataSourceSafe: true
# 低代码开发模式dev:开发模式prod:发布模式关闭报表设计预留角色admin、lowdeveloper可设计, prodsf:发布安全模式 彻底关闭报表设计)
lowCodeMode: dev
# api数据集内网ip白名单在发布模式下只只能向设置了白名单的内网服务器发送请求。
apiDsIpWhite:
- 192.168.1.69
- 192.168.1.2
- 10.22.1.0/24
# sql注入检查级别all:所有, simple:简单校验, none:不校验)
sqlInjectionLevel: all

View File

@ -39,7 +39,7 @@ spring:
host: smtp.163.com host: smtp.163.com
port: 465 port: 465
username: lab1024@163.com username: lab1024@163.com
password: 1024lab password: LAB1024LAB
properties: properties:
mail: mail:
smtp: smtp: