From 1628da591b2272058f70eff93f6d24a8c143ebf3 Mon Sep 17 00:00:00 2001 From: glj Date: Thu, 13 Apr 2023 19:50:46 +0800 Subject: [PATCH] =?UTF-8?q?glj-=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kening/vordm/entity/CountryIcon.java | 36 ++++++++++ .../java/com/kening/vordm/entity/Email.java | 56 +++++++++++++++ .../controller/CountryIconController.java | 30 ++++++++ .../vordm/mapper/CountryIconMapper.java | 16 +++++ .../kening/vordm/mapper/CountryIconMapper.xml | 16 +++++ .../vordm/service/CountryIconService.java | 13 ++++ .../kening/vordm/service/EmailService.java | 15 ++++ .../service/impl/CountryIconServiceImpl.java | 18 +++++ .../vordm/service/impl/EmailServiceImpl.java | 70 +++++++++++++++++++ kn-service/pom.xml | 5 ++ .../auth/SystemManagerApplication.java | 2 +- 11 files changed, 276 insertions(+), 1 deletion(-) create mode 100644 kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/CountryIcon.java create mode 100644 kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CountryIconController.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.xml create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/service/CountryIconService.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/CountryIconServiceImpl.java create mode 100644 kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EmailServiceImpl.java diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/CountryIcon.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/CountryIcon.java new file mode 100644 index 0000000..b99730f --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/CountryIcon.java @@ -0,0 +1,36 @@ +package com.kening.vordm.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * 国家国旗图标存储 + * @TableName country_icon + */ +@TableName(value ="country_icon") +@Data +public class CountryIcon implements Serializable { + /** + * + */ + @TableId + private Long id; + + /** + * + */ + private String flagname; + + /** + * + */ + private String img; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + +} diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java new file mode 100644 index 0000000..b7f87fa --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java @@ -0,0 +1,56 @@ +package com.kening.vordm.entity; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +import java.io.File; +import java.util.Map; + +/** + * @author wanghongqing + * @date 2023/3/15 14:41 + **/ +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public class Email { + /** + * 邮件主题 + */ + private String subject; + /** + * 文本内容 + */ + private String text; + /** + * 是否开启html方式 + */ + private boolean htmlText; + /** + * 发件人 + */ + private String form; + /** + * 收件人 + */ + private String[] tos; + /** + * 抄送人 + */ + private String[] ccs; + /** + * 密送人 + */ + private String[] bcc; + /** + * 附件 + */ + private Map attachments; + +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CountryIconController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CountryIconController.java new file mode 100644 index 0000000..b333b5d --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CountryIconController.java @@ -0,0 +1,30 @@ +package com.kening.vordm.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.kening.vordm.entity.CountryIcon; +import com.kening.vordm.service.CountryIconService; +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@AllArgsConstructor +@RequestMapping("/ui/countryIcon") +public class CountryIconController { + + private CountryIconService countryIconService; + + @GetMapping("/getList") + public R> list(CountryIcon countryIcon) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (countryIcon.getFlagname()!=null){ + qw.eq(CountryIcon::getFlagname,countryIcon.getFlagname()); + } + List list = countryIconService.list(qw); + return R.data(list); + } +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.java new file mode 100644 index 0000000..7e56010 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.java @@ -0,0 +1,16 @@ +package com.kening.vordm.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kening.vordm.entity.CountryIcon; + +/** +* @author G1393 +* @description 针对表【country_icon(国家国旗图标存储)】的数据库操作Mapper +* @createDate 2023-04-13 15:40:37 +* @Entity new.domain.CountryIcon +*/ +public interface CountryIconMapper extends BaseMapper { + + +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.xml new file mode 100644 index 0000000..cbe31e5 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/CountryIconMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + id,flagname,img + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/CountryIconService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/CountryIconService.java new file mode 100644 index 0000000..7c1b790 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/CountryIconService.java @@ -0,0 +1,13 @@ +package com.kening.vordm.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.kening.vordm.entity.CountryIcon; + +/** +* @author G1393 +* @description 针对表【country_icon(国家国旗图标存储)】的数据库操作Service +* @createDate 2023-04-13 15:40:37 +*/ +public interface CountryIconService extends IService { + +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java new file mode 100644 index 0000000..a9544ea --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java @@ -0,0 +1,15 @@ +package com.kening.vordm.service; + + +import com.kening.vordm.entity.Email; + +import javax.mail.MessagingException; + +/** + * @author wanghongqing + * @date 2023/3/15 14:45 + **/ +public interface EmailService { + + void sendMimeMessage(Email email) throws MessagingException; +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/CountryIconServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/CountryIconServiceImpl.java new file mode 100644 index 0000000..02a14a6 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/CountryIconServiceImpl.java @@ -0,0 +1,18 @@ +package com.kening.vordm.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.kening.vordm.entity.CountryIcon; +import com.kening.vordm.mapper.CountryIconMapper; +import com.kening.vordm.service.CountryIconService; +import org.springframework.stereotype.Service; + +/** +* @author G1393 +* @description 针对表【country_icon(国家国旗图标存储)】的数据库操作Service实现 +* @createDate 2023-04-13 15:40:37 +*/ +@Service +public class CountryIconServiceImpl extends ServiceImpl +implements CountryIconService { + +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EmailServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EmailServiceImpl.java new file mode 100644 index 0000000..254c8ec --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EmailServiceImpl.java @@ -0,0 +1,70 @@ +package com.kening.vordm.service.impl; + +import com.kening.vordm.entity.Email; +import com.kening.vordm.service.EmailService; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tool.utils.StringUtil; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.MimeMessageHelper; +import org.springframework.stereotype.Service; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; +import java.io.File; +import java.util.Map; + +/** + * @author wanghongqing + * @date 2023/3/15 14:45 + **/ +@Service +@RequiredArgsConstructor +public class EmailServiceImpl implements EmailService { + + private final JavaMailSender javaMailSender; + + @Value("${spring.mail.username}") + private String from; + + @Override + public void sendMimeMessage(Email email) throws MessagingException { + javaMailSender.send(buildMimeMessage(email)); + } + + /** + * 构建邮件发送内容 + * @param email 待发送的邮件 + * @return 邮件消息 + * @throws MessagingException 消息异常信息 + */ + private MimeMessage buildMimeMessage(Email email) throws MessagingException { + MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(), true, "GBK"); + //邮件主题 + mimeMessageHelper.setSubject(email.getSubject()); + //邮件发送人 + if(StringUtil.isBlank(email.getForm())) { + mimeMessageHelper.setFrom(from); + } else { + mimeMessageHelper.setFrom(email.getForm()); + } + //邮件收信人 + mimeMessageHelper.setTo(email.getTos()); + //抄送人 + if(email.getCcs() != null && email.getCcs().length > 0) { + mimeMessageHelper.setCc(email.getCcs()); + } + //密送人 + if(email.getBcc() != null && email.getBcc().length > 0) { + mimeMessageHelper.setBcc(email.getBcc()); + } + //邮件内容 + mimeMessageHelper.setText(email.getText(), email.isHtmlText()); + if(email.getAttachments() != null && email.getAttachments().size() > 0) { + for (Map.Entry attachment : email.getAttachments().entrySet()) { + mimeMessageHelper.addAttachment(attachment.getKey(), attachment.getValue()); + } + } + return mimeMessageHelper.getMimeMessage(); + } +} diff --git a/kn-service/pom.xml b/kn-service/pom.xml index e7461aa..d8bca05 100644 --- a/kn-service/pom.xml +++ b/kn-service/pom.xml @@ -96,6 +96,11 @@ org.springblade blade-starter-tenant + + + org.springframework.boot + spring-boot-starter-mail + diff --git a/kn-sys-manager/src/main/java/org/springblade/auth/SystemManagerApplication.java b/kn-sys-manager/src/main/java/org/springblade/auth/SystemManagerApplication.java index ec350bf..b873e06 100644 --- a/kn-sys-manager/src/main/java/org/springblade/auth/SystemManagerApplication.java +++ b/kn-sys-manager/src/main/java/org/springblade/auth/SystemManagerApplication.java @@ -18,7 +18,7 @@ import org.springframework.context.annotation.ComponentScan; public class SystemManagerApplication { public static void main(String[] args) { - BladeApplication.run(CommonConstant.KN_SYSTEM_MANAGER_MODULE_NAME, SystemManagerApplication.class, args); + BladeApplication.run("glj-"+CommonConstant.KN_SYSTEM_MANAGER_MODULE_NAME, SystemManagerApplication.class, args); } }