Commit 9af12362 by chentianzhong

提一个版本

parent a68c1bb3
...@@ -5,6 +5,7 @@ import com.zq.common.utils.AssertUtils; ...@@ -5,6 +5,7 @@ import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.email.service.IEmailContentService; import com.zq.email.service.IEmailContentService;
import com.zq.email.vo.EmailDegreeVo; import com.zq.email.vo.EmailDegreeVo;
import com.zq.email.vo.EmailDetailVo;
import com.zq.email.vo.EmailReqVo; import com.zq.email.vo.EmailReqVo;
import com.zq.email.vo.EmailTaskVo; import com.zq.email.vo.EmailTaskVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -53,4 +54,19 @@ public class EmailContentController { ...@@ -53,4 +54,19 @@ public class EmailContentController {
return ResultVo.success(); return ResultVo.success();
} }
@ApiOperation("从content中获取邮件收件部门(草稿箱用)")
@PostMapping("findReceiveDeptByContentId")
public ResultVo findReceiveDeptByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailContentService.findReceiveDeptByContentId(vo.getContentId()));
}
@ApiOperation("从content中获取邮件收件人(草稿箱用)")
@PostMapping("findReceiverByContentId")
public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailContentService.findReceiverByContentId(vo.getContentId()));
}
} }
...@@ -9,6 +9,7 @@ import com.zq.common.vo.ResultVo; ...@@ -9,6 +9,7 @@ import com.zq.common.vo.ResultVo;
import com.zq.email.entity.EmailContent; import com.zq.email.entity.EmailContent;
import com.zq.email.entity.EmailPerson; import com.zq.email.entity.EmailPerson;
import com.zq.email.enums.SearchRangeEnum; import com.zq.email.enums.SearchRangeEnum;
import com.zq.email.enums.WhetherEnum;
import com.zq.email.service.IEmailContentService; import com.zq.email.service.IEmailContentService;
import com.zq.email.service.IEmailPersonService; import com.zq.email.service.IEmailPersonService;
import com.zq.email.vo.*; import com.zq.email.vo.*;
...@@ -88,7 +89,9 @@ public class EmailController { ...@@ -88,7 +89,9 @@ public class EmailController {
AssertUtils.notNull(vo.getIsSend(), "缺少参数: isSend"); AssertUtils.notNull(vo.getIsSend(), "缺少参数: isSend");
log.info("vo.getReceiver()"+vo.getReceiver()); log.info("vo.getReceiver()"+vo.getReceiver());
log.info("vo.getReceiveDeptList()"+vo.getReceiveDeptList()); log.info("vo.getReceiveDeptList()"+vo.getReceiveDeptList());
AssertUtils.isTrue(CollectionUtil.isNotEmpty(vo.getReceiver()) || CollectionUtil.isNotEmpty(vo.getReceiveDeptList()), "缺少参数:receiver和 receiveDeptList"); if ((vo.getIsSend().equals(WhetherEnum.YES.getKey()))) {
AssertUtils.isTrue(CollectionUtil.isNotEmpty(vo.getReceiver()) || CollectionUtil.isNotEmpty(vo.getReceiveDeptList()), "缺少参数:receiver和 receiveDeptList");
}
emailPersonService.emailEditVo(vo); emailPersonService.emailEditVo(vo);
return ResultVo.success(); return ResultVo.success();
} }
...@@ -99,11 +102,9 @@ public class EmailController { ...@@ -99,11 +102,9 @@ public class EmailController {
OnlineUserDto adminContext = TokenUtils.getAdminContext(); OnlineUserDto adminContext = TokenUtils.getAdminContext();
AssertUtils.notNull(adminContext, "登录已失效,请重新登录后再次尝试!"); AssertUtils.notNull(adminContext, "登录已失效,请重新登录后再次尝试!");
AssertUtils.notNull(vo.getPersonId(), "缺少参数:personId"); AssertUtils.notNull(vo.getPersonId(), "缺少参数:personId");
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
EmailPerson emailPerson = emailPersonService.getById(vo.getPersonId()); EmailPerson emailPerson = emailPersonService.getById(vo.getPersonId());
AssertUtils.notNull(emailPerson, "获取邮件对应人员信息失败"); AssertUtils.notNull(emailPerson, "获取邮件对应人员信息失败");
AssertUtils.isTrue(emailPerson.getUserId().equals(adminContext.getUserId()) , "非本人邮件,不允许阅读"); AssertUtils.isTrue(emailPerson.getUserId().equals(adminContext.getUserId()) , "非本人邮件,不允许阅读");
AssertUtils.isTrue(emailPerson.getEmailContentId() == vo.getContentId() , "邮件不匹配");
EmailContent content = emailContentService.getById(emailPerson.getEmailContentId()); EmailContent content = emailContentService.getById(emailPerson.getEmailContentId());
AssertUtils.notNull(content, "获取邮件内容失败"); AssertUtils.notNull(content, "获取邮件内容失败");
emailPerson.setEmailContent(content); emailPerson.setEmailContent(content);
...@@ -172,6 +173,7 @@ public class EmailController { ...@@ -172,6 +173,7 @@ public class EmailController {
@PostMapping("lastEmail") @PostMapping("lastEmail")
public ResultVo lastEmail(@RequestBody EmailLastAndAfterReqVo vo) { public ResultVo lastEmail(@RequestBody EmailLastAndAfterReqVo vo) {
AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId"); AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId");
AssertUtils.notNull(vo.getCurrentPersonId(), "缺少参数:currentPersonId");
EmailPerson person = this.emailPersonService.lastAndAfterEmail(vo, 0); EmailPerson person = this.emailPersonService.lastAndAfterEmail(vo, 0);
AssertUtils.notNull(person, "没有上一封了"); AssertUtils.notNull(person, "没有上一封了");
return ResultVo.success(person); return ResultVo.success(person);
...@@ -181,12 +183,20 @@ public class EmailController { ...@@ -181,12 +183,20 @@ public class EmailController {
@PostMapping("afterEmail") @PostMapping("afterEmail")
public ResultVo afterEmail(@RequestBody EmailLastAndAfterReqVo vo) { public ResultVo afterEmail(@RequestBody EmailLastAndAfterReqVo vo) {
AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId"); AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId");
AssertUtils.notNull(vo.getCurrentPersonId(), "缺少参数:currentPersonId");
EmailPerson person = this.emailPersonService.lastAndAfterEmail(vo, 1); EmailPerson person = this.emailPersonService.lastAndAfterEmail(vo, 1);
AssertUtils.notNull(person, "没有下一封了"); AssertUtils.notNull(person, "没有下一封了");
return ResultVo.success(person); return ResultVo.success(person);
} }
@ApiOperation("获取当前部门的人员")
@GetMapping("getUserPolice")
public ResultVo getUserPolice() {
return emailPersonService.getUserPolice();
}
......
...@@ -42,27 +42,20 @@ public class EmailPersonController { ...@@ -42,27 +42,20 @@ public class EmailPersonController {
return ResultVo.success(); return ResultVo.success();
} }
@ApiOperation("任务邮件收件人详情") @ApiOperation("任务邮件收件人详情(收件箱和个人文件夹用)")
@PostMapping("findTaskEmailByContentId") @PostMapping("findTaskEmailByContentId")
public ResultVo findTaskEmailByContentId(@RequestBody EmailDetailVo vo) { public ResultVo findTaskEmailByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId"); AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailPersonService.findTaskEmailByContentId(vo.getContentId())); return ResultVo.success(emailPersonService.findTaskEmailByContentId(vo.getContentId()));
} }
@ApiOperation("邮件收件人详情") @ApiOperation("非任务邮件收件人详情(收件箱和个人文件夹用)")
@PostMapping("findReceiverByContentId") @PostMapping("findReceiverByContentId")
public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) { public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId"); AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailPersonService.findReceiverByContentId(vo.getContentId())); return ResultVo.success(emailPersonService.findReceiverByContentId(vo.getContentId()));
} }
@ApiOperation("获取邮件收件部门")
@PostMapping("findReceiveDeptByContentId")
public ResultVo findReceiveDeptByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailPersonService.findReceiveDeptByContentId(vo.getContentId()));
}
@ApiOperation("设置为已读或未读") @ApiOperation("设置为已读或未读")
@PostMapping("readEmail") @PostMapping("readEmail")
public ResultVo readEmail(@RequestBody EmailReadVo vo) { public ResultVo readEmail(@RequestBody EmailReadVo vo) {
......
package com.zq.email.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class SystemInfo implements Serializable {
private Long id;
@ApiModelProperty("系统名称")
private String systemName;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("系统标识")
private String systemTag;
@ApiModelProperty("状态 0-禁用 1-启用")
private Integer state;
@ApiModelProperty("访问地址")
private String homeUrl;
@ApiModelProperty("系统图标Base64")
private String systemLogo;
@ApiModelProperty("短信平台自定义号")
private String smsId;
@ApiModelProperty("移动端首页")
private String mobileHomeUrl;
@ApiModelProperty("在门户中是否隐藏 0-显示 1-隐藏")
private Integer isHidden;
}
...@@ -6,6 +6,7 @@ import com.zq.common.vo.CustomerUserVo; ...@@ -6,6 +6,7 @@ import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.email.dto.DeptSimpleDto; import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.dto.SystemInfo;
import com.zq.email.feign.fallback.AdminFeignFallbackFactory; import com.zq.email.feign.fallback.AdminFeignFallbackFactory;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
...@@ -38,4 +39,7 @@ public interface AdminFeignClient { ...@@ -38,4 +39,7 @@ public interface AdminFeignClient {
@GetMapping("/dept/getByDeptId/{deptId}") @GetMapping("/dept/getByDeptId/{deptId}")
ResultVo<DeptSimpleDto> getByDeptId(@PathVariable Long deptId); ResultVo<DeptSimpleDto> getByDeptId(@PathVariable Long deptId);
@GetMapping("/systemInfo/getBySystemTag/{systemTag}")
ResultVo<SystemInfo> getBySystemTag(@PathVariable String systemTag);
} }
package com.zq.email.feign;
import com.zq.common.vo.ResultVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
/**
* message 服务feign调用接口
*/
@FeignClient(name = "MESSAGE-SERVER", path = "/message")
public interface MessageFeignClient {
/**
* 发送网页短信提醒(门户的统一消息)
*
* @param param
* @return
*/
@PostMapping("/web/send")
ResultVo sendWebMessage(@RequestBody Map<String, Object> param);
/**
* 新增待办事宜
*
* @param params systemTag - 系统标识 - 必传
* @param params userList - 待办用户集合 - 必传
* @param params title - 待办标题 - 必传
* @param params content - 待办内容 - 必传
* @return
*/
@PostMapping("/todo/addToDo")
ResultVo addToDo(@RequestBody Map<String, Object> params);
/**
* 撤回网页消息
* 参数businessId,systemTag
*
* @param params
* @return
*/
@PostMapping("/web/delMessageBySystem")
ResultVo revokeWebBySysInfo(@RequestBody Map<String, Object> params);
/**
* 撤回待办
* 参数businessId,systemTag
*
* @param params
* @return
*/
@PostMapping("/todo/delMessageBySystem")
ResultVo revokeTodoBySysInfo(@RequestBody Map<String, Object> params);
}
...@@ -4,6 +4,7 @@ import com.zq.common.vo.CustomerUserVo; ...@@ -4,6 +4,7 @@ import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.email.dto.DeptSimpleDto; import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.dto.SystemInfo;
import com.zq.email.feign.AdminFeignClient; import com.zq.email.feign.AdminFeignClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -49,6 +50,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie ...@@ -49,6 +50,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie
return null; return null;
} }
@Override
public ResultVo<SystemInfo> getBySystemTag(String systemTag) {
return null;
}
}; };
} }
......
...@@ -21,12 +21,5 @@ public class SmsProperties { ...@@ -21,12 +21,5 @@ public class SmsProperties {
*/ */
private String appKey; private String appKey;
/** private String url;
* 内网地址
*/
private String insideUrl;
/**
* 外网地址
*/
private String outsideUrl;
} }
package com.zq.email.service; package com.zq.email.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.entity.EmailContent; import com.zq.email.entity.EmailContent;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zq.email.vo.*; import com.zq.email.vo.*;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -23,4 +27,7 @@ public interface IEmailContentService extends IService<EmailContent> { ...@@ -23,4 +27,7 @@ public interface IEmailContentService extends IService<EmailContent> {
void setDegreeEmail(EmailDegreeVo vo); void setDegreeEmail(EmailDegreeVo vo);
List<DeptSimpleDto> findReceiveDeptByContentId(Long contentId);
List<CustomerUserVo> findReceiverByContentId(Long contentId);
} }
package com.zq.email.service; package com.zq.email.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.common.vo.ResultVo;
import com.zq.email.dto.DeptDto; import com.zq.email.dto.DeptDto;
import com.zq.email.dto.DeptSimpleDto; import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.entity.EmailPerson; import com.zq.email.entity.EmailPerson;
...@@ -34,8 +35,6 @@ public interface IEmailPersonService extends IService<EmailPerson> { ...@@ -34,8 +35,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
List<EmailPerson> findTaskEmailByContentId(Long contentId); List<EmailPerson> findTaskEmailByContentId(Long contentId);
List<DeptSimpleDto> findReceiveDeptByContentId(Long contentId);
void readAllEmails(Long folderId); void readAllEmails(Long folderId);
void readEmail(EmailReadVo vo); void readEmail(EmailReadVo vo);
...@@ -60,4 +59,7 @@ public interface IEmailPersonService extends IService<EmailPerson> { ...@@ -60,4 +59,7 @@ public interface IEmailPersonService extends IService<EmailPerson> {
Integer searchTotal(EmailSearchReqVo vo); Integer searchTotal(EmailSearchReqVo vo);
Page searchPage(EmailSearchReqVo vo); Page searchPage(EmailSearchReqVo vo);
//当前部门的人员
ResultVo getUserPolice();
} }
...@@ -40,9 +40,22 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email ...@@ -40,9 +40,22 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
if(CollectionUtil.isNotEmpty(vo.getFileIds())) { if(CollectionUtil.isNotEmpty(vo.getFileIds())) {
//拿到旧附件 //拿到旧附件
list = this.lambdaQuery().eq(EmailAttach::getEmailContentId, content.getId()).in(EmailAttach::getAttachId, vo.getFileIds()).list(); //list = this.lambdaQuery().eq(EmailAttach::getEmailContentId, content.getId()).in(EmailAttach::getAttachId, vo.getFileIds()).list();
for (EmailAttach emailAttach : list) { //list = this.lambdaQuery().in(EmailAttach::getAttachId, vo.getFileIds()).list();
emailAttach.setId(null); for (String fileId : vo.getFileIds()) {
ResultVo<SysFileUploadVo> uploadFileById = fileFeignClient.getUploadFileById(fileId);
if (uploadFileById.isSuccess() && uploadFileById.getData()!=null){
SysFileUploadVo data = uploadFileById.getData();
EmailAttach emailAttach = EmailAttach.builder()
.emailContentId(content.getId())
.attachId(data.getId())
.attachName(data.getFileName())
.attachSize(data.getSize())
.downloadPath(data.getDownloadPath())
.sendTime(content.getSendTime())
.build();
list.add(emailAttach);
}
} }
} }
//先检查旧附件 //先检查旧附件
......
...@@ -2,12 +2,17 @@ package com.zq.email.service.impl; ...@@ -2,12 +2,17 @@ package com.zq.email.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo;
import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.entity.EmailContent; import com.zq.email.entity.EmailContent;
import com.zq.email.enums.RemindEnum; import com.zq.email.enums.RemindEnum;
import com.zq.email.enums.WhetherEnum; import com.zq.email.enums.WhetherEnum;
import com.zq.email.feign.AdminFeignClient;
import com.zq.email.mapper.EmailContentMapper; import com.zq.email.mapper.EmailContentMapper;
import com.zq.email.service.IEmailContentService; import com.zq.email.service.IEmailContentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -15,10 +20,13 @@ import com.zq.email.vo.EmailDegreeVo; ...@@ -15,10 +20,13 @@ import com.zq.email.vo.EmailDegreeVo;
import com.zq.email.vo.EmailEditVo; import com.zq.email.vo.EmailEditVo;
import com.zq.email.vo.EmailReqVo; import com.zq.email.vo.EmailReqVo;
import com.zq.email.vo.EmailTaskVo; import com.zq.email.vo.EmailTaskVo;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.matcher.CollectionErasureMatcher; import net.bytebuddy.matcher.CollectionErasureMatcher;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p> * <p>
...@@ -29,8 +37,11 @@ import java.time.LocalDateTime; ...@@ -29,8 +37,11 @@ import java.time.LocalDateTime;
* @since 2023-03-06 * @since 2023-03-06
*/ */
@Service @Service
@RequiredArgsConstructor
public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, EmailContent> implements IEmailContentService { public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, EmailContent> implements IEmailContentService {
private final AdminFeignClient adminFeignClient;
@Override @Override
public EmailContent saveContent(EmailEditVo vo, OnlineUserDto adminContext) { public EmailContent saveContent(EmailEditVo vo, OnlineUserDto adminContext) {
EmailContent content = null; EmailContent content = null;
...@@ -90,4 +101,38 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema ...@@ -90,4 +101,38 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
public void setDegreeEmail(EmailDegreeVo vo) { public void setDegreeEmail(EmailDegreeVo vo) {
this.lambdaUpdate().in(EmailContent::getId, vo.getContentId()).set(EmailContent::getDegree, vo.getDegree()).update(); this.lambdaUpdate().in(EmailContent::getId, vo.getContentId()).set(EmailContent::getDegree, vo.getDegree()).update();
} }
@Override
public List<DeptSimpleDto> findReceiveDeptByContentId(Long contentId) {
List<DeptSimpleDto> deptDtoList = new ArrayList<>();
EmailContent content = this.getById(contentId);
if (StrUtil.isNotBlank(content.getDeptList())){
String[] deptIds = content.getDeptList().split(",");
for (String deptId : deptIds) {
ResultVo<DeptSimpleDto> byDeptId = adminFeignClient.getByDeptId(Long.valueOf(deptId));
if (byDeptId.isSuccess() && byDeptId.getData()!=null){
deptDtoList.add(byDeptId.getData());
}
}
}
return deptDtoList;
}
@Override
public List<CustomerUserVo> findReceiverByContentId(Long contentId) {
List<CustomerUserVo> userVoList = new ArrayList<>();
EmailContent content = this.getById(contentId);
if (StrUtil.isNotBlank(content.getUserList())){
String[] userIds = content.getUserList().split(",");
for (String userId : userIds) {
CustomerUserVo userById = adminFeignClient.getUserById(Long.valueOf(userId));
if (userById!=null){
userVoList.add(userById);
}
}
}
return userVoList;
}
} }
package com.zq.email.utils; package com.zq.email.utils;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.net.url.UrlQuery;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.ResultVo;
import com.zq.email.properties.SmsProperties; import com.zq.email.properties.SmsProperties;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author wilmiam * @author wilmiam
...@@ -17,68 +30,53 @@ public class SmsUtil { ...@@ -17,68 +30,53 @@ public class SmsUtil {
@Resource @Resource
public SmsProperties smsProperties; public SmsProperties smsProperties;
// /**
// * 发送短信 /**
// * * 发送批量短信
// * @return *
// */ * @return
// public ResultVo sendSms(Map<String, Object> params) { */
// ResultVo resultVo = ResultVo.success(); public void sendBatchSms(List<CustomerUserVo> userVoList, String content, Long contentId) {
// if ("wantest".equals(active) || "wanpro".equals(active)) { String regex = "^1[3-9]\\d{9}";
// String url = smsConfig.getOutsideUrl() + "/outside/send"; StringBuffer sb = new StringBuffer();
// resultVo = sendRequest(url, params); for (CustomerUserVo userVo : userVoList) {
// } if (userVo!=null && StrUtil.isNotBlank(userVo.getPhone()) && userVo.getPhone().matches(regex)){
// if ("test".equals(active) || "product".equals(active)) { sb.append(userVo.getPhone()).append(",");
// String url = smsConfig.getInsideUrl() + "/inside/send"; }
// resultVo = sendRequest(url, params);
// } }
// return resultVo;
// } Map<String, Object> map = new HashMap<>();
// map.put("phones", Base64.encode(sb.toString().getBytes()));
// /** map.put("formId", Base64.encode("oa_email".getBytes()));
// * 发送批量短信 map.put("content", Base64.encode(content.getBytes()));
// * map.put("isReply", Base64.encode("0".getBytes()));
// * @return String param= JSONUtil.toJsonStr(map);
// */ sendRequest(Base64.encode(param.getBytes()), contentId);
// public ResultVo sendBatchSms(Map<String, Object> params) { }
// ResultVo resultVo = ResultVo.success();
// if ("wantest".equals(active) || "wanpro".equals(active)) { private void sendRequest(String content, Long contentId) {
// String url = smsConfig.getOutsideUrl() + "/outside/sendBatch"; log.info("发送短信请求 => 邮件标识:{},请求地址:{}", contentId, smsProperties.getUrl());
// resultVo = sendRequest(url, params);
// } Map<String, Object> map = new HashMap<>();
// if ("test".equals(active) || "product".equals(active)) { map.put("data", content);
// String url = smsConfig.getInsideUrl() + "/inside/sendBatch"; String param = JSONUtil.toJsonStr(map);
// resultVo = sendRequest(url, params); log.info("参数 => {}, 邮件标识:{}", contentId, param);
// } HttpRequest request = HttpUtil.createPost(smsProperties.getUrl())
// return resultVo; .header("APP_ID", Base64.encode(smsProperties.getAppId().getBytes()))
// } .header("APP_KEY", Base64.encode(smsProperties.getAppKey().getBytes()))
// .body(param);
// private ResultVo sendRequest(String url, Map<String, Object> params) {
// log.debug("发送短信请求 => {} \nRequest Body:\n\t{}\n", url, UrlQuery.of(params)); try {
// HttpResponse response = request.execute();
// HttpRequest request = HttpUtil.createPost(url) String body = response.body();
// .header("APP_ID", smsConfig.getAppId()) log.info("发送短信响应 => {}, 邮件标识:{}", body, contentId);
// .header("APP_KEY", smsConfig.getAppKey()) ResultVo resultVo = JSONUtil.toBean(body, ResultVo.class);
// .body(JSONUtil.toJsonStr(params)); log.info("发送短信响应 => {}, 邮件标识:{}", resultVo.isSuccess(), contentId);
// } catch (Exception e) {
// HttpResponse response; log.error("调用短信接口失败");
// try { log.error(e.getLocalizedMessage(), e);
// response = request.execute(); }
// } catch (Exception e) { }
// log.error("调用短信接口失败", e);
// return ResultVo.fail("调用短信接口失败:" + e.getMessage());
// }
//
// String body = response.body();
//
// log.debug("发送短信响应 => {}", body);
//
// try {
// return JSONUtil.toBean(body, ResultVo.class);
// } catch (Exception e) {
// log.error("调用短信接口解析失败", e);
// return ResultVo.fail("调用短信接口失败:" + e.getMessage());
// }
// }
} }
...@@ -49,5 +49,4 @@ public class EmailEditVo { ...@@ -49,5 +49,4 @@ public class EmailEditVo {
@ApiModelProperty("附件") @ApiModelProperty("附件")
private List<MultipartFile> fileList; private List<MultipartFile> fileList;
} }
...@@ -57,4 +57,10 @@ spring: ...@@ -57,4 +57,10 @@ spring:
multi-statement-allow: true multi-statement-allow: true
#是否开启 swagger-ui #是否开启 swagger-ui
swagger: swagger:
enabled: true enabled: true
\ No newline at end of file
sms:
app-id: oa-mobile
app-key: GY@mobile$2022
url: http://171.106.48.55:19891/ums/inside_new/sendBatch
\ No newline at end of file
...@@ -57,4 +57,9 @@ spring: ...@@ -57,4 +57,9 @@ spring:
multi-statement-allow: true multi-statement-allow: true
#是否开启 swagger-ui #是否开启 swagger-ui
swagger: swagger:
enabled: true enabled: true
\ No newline at end of file
sms:
app-id: oa-mobile
app-key: GY@mobile$2022
url: http://171.106.48.55:19891/ums/inside_new/sendBatch
...@@ -56,4 +56,10 @@ spring: ...@@ -56,4 +56,10 @@ spring:
multi-statement-allow: true multi-statement-allow: true
#是否开启 swagger-ui #是否开启 swagger-ui
swagger: swagger:
enabled: false enabled: false
\ No newline at end of file
sms:
app-id: oa-mobile
app-key: GY@mobile$2022
url: http://172.28.1.71:9888/ums/inside_new/sendBatch
\ No newline at end of file
...@@ -56,4 +56,9 @@ spring: ...@@ -56,4 +56,9 @@ spring:
multi-statement-allow: true multi-statement-allow: true
#是否开启 swagger-ui #是否开启 swagger-ui
swagger: swagger:
enabled: false enabled: false
\ No newline at end of file
sms:
app-id: oa-mobile
app-key: GY@mobile$2022
url: http://172.28.1.71:9888/ums/inside_new/sendBatch
\ No newline at end of file
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
</if> </if>
<if test="s.attachName != null and s.attachName !='' "> <if test="s.attachName != null and s.attachName !='' ">
AND EC."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%') AND EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
</if> </if>
</where> </where>
ORDER BY EP."ID" DESC ORDER BY EP."ID" DESC
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
</if> </if>
<if test="s.attachName != null and s.attachName !='' "> <if test="s.attachName != null and s.attachName !='' ">
AND EC."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%') AND EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
</if> </if>
</where> </where>
ORDER BY EP."ID" DESC ORDER BY EP."ID" DESC
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment