This commit is contained in:
qqGroup0 2023-04-15 16:32:57 +08:00
commit a2cef7a947
14 changed files with 355 additions and 53 deletions

View File

@ -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;
}

View File

@ -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<String, File> attachments;
}

View File

@ -37,5 +37,4 @@ public class CaptchaController extends BladeController {
}
return R.success("OK");
}
}

View File

@ -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>> list(CountryIcon countryIcon) {
LambdaQueryWrapper<CountryIcon> qw = new LambdaQueryWrapper<>();
if (countryIcon.getFlagname()!=null){
qw.eq(CountryIcon::getFlagname,countryIcon.getFlagname());
}
List<CountryIcon> list = countryIconService.list(qw);
return R.data(list);
}
}

View File

@ -198,15 +198,14 @@ public class DisasterInfoController {
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterType, String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterCountry, String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getSponsorOrganization, String.valueOf(params.get("leftVal")))
.inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getId, "select t.disaster_id from guest_manage_disaster_ref t " +
" where t.response_organization = " + params.get("leftVal"))
// .eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
// .eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
// .eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
// .inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getId,"select t.disaster_id from guest_manage_disaster_ref t " +
// " where t.response_organization = " + params.get("leftVal"))
.orderByDesc("Visits".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getVisitCount)
.orderByDesc("Downloads".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getDownloadCount)
.orderByDesc("updateTime".equals(String.valueOf(params.get("order"))), DisasterInfoVo::getUploadTime)
.orderByDesc(DisasterInfoVo::getDisasterTime)
.orderByDesc(DisasterInfoVo::getVordmId)
));
}
if("4".equals(dateType)){
@ -218,15 +217,14 @@ public class DisasterInfoController {
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterType, String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterCountry, String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getSponsorOrganization, String.valueOf(params.get("leftVal")))
.inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getId, "select t.disaster_id from guest_manage_disaster_ref t " +
" where t.response_organization = " + params.get("leftVal"))
// .eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
// .eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
// .eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
// .inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getId,"select t.disaster_id from guest_manage_disaster_ref t " +
// " where t.response_organization = " + params.get("leftVal"))
.orderByDesc("Visits".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getVisitCount)
.orderByDesc("Downloads".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getDownloadCount)
.orderByDesc("updateTime".equals(String.valueOf(params.get("order"))), DisasterInfoVo::getUploadTime)
.orderByDesc(DisasterInfoVo::getDisasterTime)
.orderByDesc(DisasterInfoVo::getVordmId)
));
} else{
//没有时间相关的
@ -235,15 +233,14 @@ public class DisasterInfoController {
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterType, String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getDisasterCountry, String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getSponsorOrganization, String.valueOf(params.get("leftVal")))
.inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))), DisasterInfoVo::getId, "select t.disaster_id from guest_manage_disaster_ref t " +
" where t.response_organization = " + params.get("leftVal"))
// .eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
// .eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
// .eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
// .inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getId,"select t.disaster_id from guest_manage_disaster_ref t " +
// " where t.response_organization = " + params.get("leftVal"))
.orderByDesc("Visits".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getVisitCount)
.orderByDesc("Downloads".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getDownloadCount)
.orderByDesc("updateTime".equals(String.valueOf(params.get("order"))), DisasterInfoVo::getUploadTime)
.orderByDesc(DisasterInfoVo::getDisasterTime)
.orderByDesc(DisasterInfoVo::getVordmId)
));
}

View File

@ -0,0 +1,31 @@
package com.kening.vordm.controller;
import com.kening.vordm.entity.Email;
import com.kening.vordm.service.EmailService;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.mail.MessagingException;
@RestController
@RequestMapping("/ui/email")
@RequiredArgsConstructor
@Api(value = "邮箱发送", tags = "邮箱发送")
public class EmailController {
private final EmailService emailService;
@PostMapping("/emailSend")
public R emailSend(Email email) {
try {
emailService.sendMimeMessage(email);
return R.success("OK");
} catch (MessagingException e) {
return R.fail(e.getMessage());
}
}
}

View File

@ -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<CountryIcon> {
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kening.vordm.mapper.CountryIconMapper">
<resultMap id="BaseResultMap" type="com.kening.vordm.entity.CountryIcon">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="flagname" column="flagname" jdbcType="VARCHAR"/>
<result property="img" column="img" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,flagname,img
</sql>
</mapper>

View File

@ -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<CountryIcon> {
}

View File

@ -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;
}

View File

@ -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<CountryIconMapper, CountryIcon>
implements CountryIconService {
}

View File

@ -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<String, File> attachment : email.getAttachments().entrySet()) {
mimeMessageHelper.addAttachment(attachment.getKey(), attachment.getValue());
}
}
return mimeMessageHelper.getMimeMessage();
}
}

View File

@ -96,6 +96,11 @@
<groupId>org.springblade</groupId>
<artifactId>blade-starter-tenant</artifactId>
</dependency>
<!--邮件发送依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -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);
}
}