Skip to content

Commit d5ed2f4

Browse files
committed
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/yudao-cloud
# Conflicts: # yudao-gateway/src/main/resources/application.yaml # yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java # yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApiImpl.java # yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/mq/message/mail/MailSendMessage.java # yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/mq/producer/mail/MailProducer.java # yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java
2 parents 51da2a2 + 9defcf7 commit d5ed2f4

File tree

11 files changed

+58
-88
lines changed

11 files changed

+58
-88
lines changed

yudao-gateway/src/main/java/cn/iocoder/yudao/gateway/filter/cors/CorsResponseHeaderFilter.java

Lines changed: 0 additions & 54 deletions
This file was deleted.

yudao-gateway/src/main/resources/application.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,8 @@ spring:
194194
- RewritePath=/admin-api/iot/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
195195
x-forwarded:
196196
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
197+
default-filters: # 全局过滤器,对应 GatewayFilterDefinition 数组
198+
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
197199

198200
server:
199201
port: 48080

yudao-module-ai/yudao-module-ai-server/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,12 @@
240240
<groupId>org.springframework.ai</groupId>
241241
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
242242
<version>${spring-ai.version}</version>
243+
<exclusions>
244+
<exclusion>
245+
<groupId>io.swagger.core.v3</groupId>
246+
<artifactId>swagger-annotations-jakarta</artifactId>
247+
</exclusion>
248+
</exclusions>
243249
</dependency>
244250
<dependency>
245251
<!-- 客户端 -->

yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/framework/order/core/aop/TradeOrderLogAspect.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,17 @@ public class TradeOrderLogAspect {
6565
public void doAfterReturning(JoinPoint joinPoint, TradeOrderLog orderLog) {
6666
try {
6767
// 1.1 操作用户
68-
Integer userType = getUserType();
69-
Long userId = getUserId();
68+
Integer userType = USER_TYPE.get();
69+
if (ObjectUtil.isNull(userType)) {
70+
userType = getUserType();
71+
}
72+
Long userId = USER_ID.get();
73+
if (ObjectUtil.isNull(userId)) {
74+
userId = getUserId();
75+
}
7076
// 1.2 订单信息
7177
Long orderId = ORDER_ID.get();
72-
if (orderId == null) { // 如果未设置,只有注解,说明不需要记录日志
78+
if (ObjectUtil.isNull(orderId)) { // 如果未设置,只有注解,说明不需要记录日志
7379
return;
7480
}
7581
Integer beforeStatus = BEFORE_STATUS.get();

yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package cn.iocoder.yudao.module.system.api.mail.dto;
22

3+
import jakarta.validation.constraints.Email;
4+
import jakarta.validation.constraints.NotNull;
35
import lombok.Data;
4-
import javax.validation.constraints.Email;
5-
import javax.validation.constraints.NotNull;
6+
7+
import java.io.File;
68
import java.util.List;
79
import java.util.Map;
810

@@ -34,7 +36,6 @@ public class MailSendSingleToUserReqDTO {
3436
*/
3537
private List<@Email String> bccMails;
3638

37-
3839
/**
3940
* 邮件模板编号
4041
*/
@@ -44,5 +45,9 @@ public class MailSendSingleToUserReqDTO {
4445
* 邮件模板参数
4546
*/
4647
private Map<String, Object> templateParams;
48+
/**
49+
* 附件内容
50+
*/
51+
private File[] attachments;
4752

4853
}

yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApiImpl.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
44
import cn.iocoder.yudao.module.system.api.mail.dto.MailSendSingleToUserReqDTO;
55
import cn.iocoder.yudao.module.system.service.mail.MailSendService;
6+
import jakarta.annotation.Resource;
67
import org.springframework.validation.annotation.Validated;
78
import org.springframework.web.bind.annotation.RestController;
89

9-
import javax.annotation.Resource;
10-
1110
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
1211

1312
@RestController // 提供 RESTful API 接口,给 Feign 调用
@@ -21,14 +20,14 @@ public class MailSendApiImpl implements MailSendApi {
2120
public CommonResult<Long> sendSingleMailToAdmin(MailSendSingleToUserReqDTO reqDTO) {
2221
return success(mailSendService.sendSingleMailToAdmin(reqDTO.getUserId(),
2322
reqDTO.getToMails(), reqDTO.getCcMails(), reqDTO.getBccMails(),
24-
reqDTO.getTemplateCode(), reqDTO.getTemplateParams()));
23+
reqDTO.getTemplateCode(), reqDTO.getTemplateParams(), reqDTO.getAttachments()));
2524
}
2625

2726
@Override
2827
public CommonResult<Long> sendSingleMailToMember(MailSendSingleToUserReqDTO reqDTO) {
2928
return success(mailSendService.sendSingleMailToMember(reqDTO.getUserId(),
3029
reqDTO.getToMails(), reqDTO.getCcMails(), reqDTO.getBccMails(),
31-
reqDTO.getTemplateCode(), reqDTO.getTemplateParams()));
30+
reqDTO.getTemplateCode(), reqDTO.getTemplateParams(), reqDTO.getAttachments()));
3231
}
3332

3433
}

yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.hutool.core.util.ObjUtil;
55
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
66
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7+
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
78
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
89
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
910
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
@@ -32,6 +33,7 @@ public class AdminUserApiImpl implements AdminUserApi {
3233
private DeptService deptService;
3334

3435
@Override
36+
@DataPermission(enable = false) // 忽略数据权限,避免因为过滤,导致无法查询用户。类似:https://github.com/YunaiV/ruoyi-vue-pro/issues/1051
3537
public CommonResult<AdminUserRespDTO> getUser(Long id) {
3638
AdminUserDO user = userService.getUser(id);
3739
return success(BeanUtils.toBean(user, AdminUserRespDTO.class));

yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/mq/message/mail/MailSendMessage.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package cn.iocoder.yudao.module.system.mq.message.mail;
22

3+
import jakarta.validation.constraints.NotEmpty;
4+
import jakarta.validation.constraints.NotNull;
35
import lombok.Data;
46

5-
import javax.validation.constraints.NotEmpty;
6-
import javax.validation.constraints.NotNull;
7-
7+
import java.io.File;
88
import java.util.Collection;
9-
import java.util.List;
109

1110
/**
1211
* 邮箱发送消息
@@ -54,5 +53,9 @@ public class MailSendMessage {
5453
*/
5554
@NotEmpty(message = "邮件内容不能为空")
5655
private String content;
56+
/**
57+
* 邮件附件
58+
*/
59+
private File[] attachments;
5760

5861
}

yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/mq/producer/mail/MailProducer.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package cn.iocoder.yudao.module.system.mq.producer.mail;
22

33
import cn.iocoder.yudao.module.system.mq.message.mail.MailSendMessage;
4+
import jakarta.annotation.Resource;
45
import lombok.extern.slf4j.Slf4j;
56
import org.springframework.context.ApplicationContext;
67
import org.springframework.stereotype.Component;
78

8-
import javax.annotation.Resource;
9-
9+
import java.io.File;
1010
import java.util.Collection;
11-
import java.util.List;
12-
13-
import static java.util.Collections.singletonList;
1411

1512
/**
1613
* Mail 邮件相关消息的 Producer
@@ -39,12 +36,13 @@ public class MailProducer {
3936
*/
4037
public void sendMailSendMessage(Long sendLogId,
4138
Collection<String> toMails, Collection<String> ccMails, Collection<String> bccMails,
42-
Long accountId, String nickname, String title, String content) {
39+
Long accountId, String nickname, String title, String content, File[] attachments) {
4340
MailSendMessage message = new MailSendMessage()
4441
.setLogId(sendLogId)
4542
.setToMails(toMails).setCcMails(ccMails).setBccMails(bccMails)
4643
.setAccountId(accountId).setNickname(nickname)
47-
.setTitle(title).setContent(content);
44+
.setTitle(title).setContent(content)
45+
.setAttachments(attachments);
4846
applicationContext.publishEvent(message);
4947
}
5048

yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendService.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
44
import cn.iocoder.yudao.module.system.mq.message.mail.MailSendMessage;
55

6+
import java.io.File;
67
import java.util.Collection;
78
import java.util.Map;
89

@@ -27,9 +28,9 @@ public interface MailSendService {
2728
*/
2829
default Long sendSingleMailToAdmin(Long userId,
2930
Collection<String> toMails, Collection<String> ccMails, Collection<String> bccMails,
30-
String templateCode, Map<String, Object> templateParams) {
31+
String templateCode, Map<String, Object> templateParams, File... attachments) {
3132
return sendSingleMail(toMails, ccMails, bccMails, userId, UserTypeEnum.ADMIN.getValue(),
32-
templateCode, templateParams);
33+
templateCode, templateParams, attachments);
3334
}
3435

3536
/**
@@ -45,9 +46,9 @@ default Long sendSingleMailToAdmin(Long userId,
4546
*/
4647
default Long sendSingleMailToMember(Long userId,
4748
Collection<String> toMails, Collection<String> ccMails, Collection<String> bccMails,
48-
String templateCode, Map<String, Object> templateParams) {
49+
String templateCode, Map<String, Object> templateParams, File... attachments) {
4950
return sendSingleMail(toMails, ccMails, bccMails, userId, UserTypeEnum.MEMBER.getValue(),
50-
templateCode, templateParams);
51+
templateCode, templateParams, attachments);
5152
}
5253

5354
/**
@@ -64,7 +65,7 @@ default Long sendSingleMailToMember(Long userId,
6465
*/
6566
Long sendSingleMail(Collection<String> toMails, Collection<String> ccMails, Collection<String> bccMails,
6667
Long userId, Integer userType,
67-
String templateCode, Map<String, Object> templateParams);
68+
String templateCode, Map<String, Object> templateParams, File... attachments);
6869

6970
/**
7071
* 执行真正的邮件发送

0 commit comments

Comments
 (0)