修改bug

This commit is contained in:
2025-07-28 11:00:41 +08:00
parent 30c2654dea
commit ddf399b7b1
12 changed files with 230 additions and 52 deletions

View File

@@ -27,6 +27,7 @@ import com.ruoyi.oa.mapper.OaEmailAccountMapper;
import com.ruoyi.oa.service.IOaEmailAccountService;
import com.ruoyi.oa.domain.request.EmailSendRequest;
import com.ruoyi.oa.utils.EmailUtil;
import com.ruoyi.oa.config.DynamicMailConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate;
import com.ruoyi.oa.mapper.OaFurnitureTableMapper;
@@ -55,6 +56,9 @@ public class OaEmailAccountServiceImpl implements IOaEmailAccountService {
@Autowired
private OaFurnitureTableMapper oaFurnitureTableMapper;
@Autowired
private DynamicMailConfig dynamicMailConfig;
/**
* 查询发件人邮箱账号管理
*/
@@ -143,6 +147,11 @@ public class OaEmailAccountServiceImpl implements IOaEmailAccountService {
if (account == null) {
return "发件人邮箱账号不存在";
}
// 输出SMTP服务器信息
String smtpHost = dynamicMailConfig.getSmtpHostByEmail(account.getEmail(), account.getSmtpHost());
System.out.println("使用邮箱: " + account.getEmail() + ", SMTP服务器: " + smtpHost);
List<String> emailList = oaFurnitureTableMapper.selectEmailsByFurnitureIds(request.getFurnitureIds());
int type = account.getType() == null ? -1 : account.getType().intValue();
int success = 0, fail = 0;

View File

@@ -1,6 +1,7 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -45,7 +46,7 @@ public class OaExpressQuestionServiceImpl implements IOaExpressQuestionService {
*/
@Override
public TableDataInfo<OaExpressQuestionVo> queryPageList(OaExpressQuestionBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaExpressQuestion> lqw = buildQueryWrapper(bo);
QueryWrapper<OaExpressQuestion> lqw = buildQueryWrapper(bo);
Page<OaExpressQuestionVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -55,19 +56,33 @@ public class OaExpressQuestionServiceImpl implements IOaExpressQuestionService {
*/
@Override
public List<OaExpressQuestionVo> queryList(OaExpressQuestionBo bo) {
LambdaQueryWrapper<OaExpressQuestion> lqw = buildQueryWrapper(bo);
QueryWrapper<OaExpressQuestion> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaExpressQuestion> buildQueryWrapper(OaExpressQuestionBo bo) {
private QueryWrapper<OaExpressQuestion> buildQueryWrapper(OaExpressQuestionBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaExpressQuestion> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getExpressId() != null, OaExpressQuestion::getExpressId, bo.getExpressId());
lqw.eq(StringUtils.isNotBlank(bo.getDescription()), OaExpressQuestion::getDescription, bo.getDescription());
lqw.eq(bo.getReportTime() != null, OaExpressQuestion::getReportTime, bo.getReportTime());
lqw.eq(StringUtils.isNotBlank(bo.getReportBy()), OaExpressQuestion::getReportBy, bo.getReportBy());
lqw.eq(bo.getStatus() != null, OaExpressQuestion::getStatus, bo.getStatus());
return lqw;
QueryWrapper<OaExpressQuestion> qw = new QueryWrapper<>();
// 设置表别名
if (bo.getExpressId() != null) {
qw.eq("oeq.express_id", bo.getExpressId());
}
if (StringUtils.isNotBlank(bo.getDescription())) {
qw.eq("oeq.description", bo.getDescription());
}
if (bo.getReportTime() != null) {
qw.eq("oeq.report_time", bo.getReportTime());
}
if (StringUtils.isNotBlank(bo.getReportBy())) {
qw.eq("oeq.report_by", bo.getReportBy());
}
if (bo.getStatus() != null) {
qw.eq("oeq.status", bo.getStatus());
}
// 逻辑删除
qw.eq("oeq.del_flag", 0);
return qw;
}
/**

View File

@@ -1,16 +1,14 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.oa.utils.BestRouteQueryUtil;
import com.ruoyi.oa.utils.SfRouteQueryUtil;
import com.ruoyi.oa.utils.StoRouteQueryUtil;
import com.ruoyi.oa.utils.ZtoTrackQueryUtil;
import com.ruoyi.oa.utils.*;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaExpressBo;
@@ -51,7 +49,7 @@ public class OaExpressServiceImpl implements IOaExpressService {
*/
@Override
public TableDataInfo<OaExpressVo> queryPageList(OaExpressBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaExpress> lqw = buildQueryWrapper(bo);
QueryWrapper<OaExpress> lqw = buildQueryWrapper(bo);
Page<OaExpressVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -61,25 +59,48 @@ public class OaExpressServiceImpl implements IOaExpressService {
*/
@Override
public List<OaExpressVo> queryList(OaExpressBo bo) {
LambdaQueryWrapper<OaExpress> lqw = buildQueryWrapper(bo);
QueryWrapper<OaExpress> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaExpress> buildQueryWrapper(OaExpressBo bo) {
private QueryWrapper<OaExpress> buildQueryWrapper(OaExpressBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaExpress> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getExpressCode()), OaExpress::getExpressCode, bo.getExpressCode());
lqw.eq(bo.getStatus() != null, OaExpress::getStatus, bo.getStatus());
lqw.like(StringUtils.isNotBlank(bo.getSupplyName()), OaExpress::getSupplyName, bo.getSupplyName());
lqw.eq(StringUtils.isNotBlank(bo.getSupplyPhone()), OaExpress::getSupplyPhone, bo.getSupplyPhone());
lqw.eq(bo.getOwnerId() != null, OaExpress::getOwnerId, bo.getOwnerId());
lqw.eq(StringUtils.isNotBlank(bo.getOwnerPhone()), OaExpress::getOwnerPhone, bo.getOwnerPhone());
lqw.eq(bo.getPlanDate() != null, OaExpress::getPlanDate, bo.getPlanDate());
lqw.eq(bo.getProjectId() != null, OaExpress::getProjectId, bo.getProjectId());
lqw.eq(StringUtils.isNotBlank(bo.getExpressType()), OaExpress::getExpressType, bo.getExpressType());
return lqw;
QueryWrapper<OaExpress> qw = new QueryWrapper<>();
// 设置表别名
if (StringUtils.isNotBlank(bo.getExpressCode())) {
qw.like("oe.express_code", bo.getExpressCode());
}
if (bo.getStatus() != null) {
qw.eq("oe.status", bo.getStatus());
}
if (StringUtils.isNotBlank(bo.getSupplyName())) {
qw.like("oe.supply_name", bo.getSupplyName());
}
if (StringUtils.isNotBlank(bo.getSupplyPhone())) {
qw.eq("oe.supply_phone", bo.getSupplyPhone());
}
if (bo.getOwnerId() != null) {
qw.eq("oe.owner_id", bo.getOwnerId());
}
if (StringUtils.isNotBlank(bo.getOwnerPhone())) {
qw.eq("oe.owner_phone", bo.getOwnerPhone());
}
if (bo.getPlanDate() != null) {
qw.eq("oe.plan_date", bo.getPlanDate());
}
if (bo.getProjectId() != null) {
qw.eq("oe.project_id", bo.getProjectId());
}
if (StringUtils.isNotBlank(bo.getExpressType())) {
qw.eq("oe.express_type", bo.getExpressType());
}
// 添加逻辑删除条件
qw.eq("oe.del_flag", 0);
return qw;
}
/**
* 新增物流预览
*/
@@ -155,7 +176,6 @@ public class OaExpressServiceImpl implements IOaExpressService {
oaExpressVo.setLastStatus(oaExpressVo1.getFirstStatusName());
}
}
if (expressType.equals("Best") && oaExpressVo.getStatus() ==1L) {
// 校验为顺丰则进入此位置更新状态
OaExpressVo oaExpressVo1 = BestRouteQueryUtil.queryRoute(oaExpressVo.getExpressCode());
@@ -168,7 +188,7 @@ public class OaExpressServiceImpl implements IOaExpressService {
if (expressType.equals("YD") && oaExpressVo.getStatus() == 1L) {
// 韵达快递轨迹查询
String result = com.ruoyi.oa.utils.YdRouteQueryUtil.queryRoute(oaExpressVo.getExpressCode());
OaExpressVo ydVo = com.ruoyi.oa.utils.YdRouteQueryUtil.parseData(result);
OaExpressVo ydVo = YdRouteQueryUtil.parseData(result);
if (ydVo != null) {
oaExpressVo.setLastUpdateTime(ydVo.getLastUpdateTime());
oaExpressVo.setLastStatus(ydVo.getLastStatus());
@@ -177,7 +197,7 @@ public class OaExpressServiceImpl implements IOaExpressService {
if (expressType.equals("YT") && oaExpressVo.getStatus() == 1L) {
// 圆通快递轨迹查询
String result = com.ruoyi.oa.utils.YtRouteQueryUtil.queryRoute(oaExpressVo.getExpressCode());
OaExpressVo ytVo = com.ruoyi.oa.utils.YtRouteQueryUtil.parseData(result);
OaExpressVo ytVo = YtRouteQueryUtil.parseData(result);
if (ytVo != null) {
oaExpressVo.setLastUpdateTime(ytVo.getLastUpdateTime());
oaExpressVo.setLastStatus(ytVo.getLastStatus());
@@ -186,10 +206,10 @@ public class OaExpressServiceImpl implements IOaExpressService {
if (expressType.equals("STO") && oaExpressVo.getStatus() == 1L) {
// 申通快递轨迹查询
String result = StoRouteQueryUtil.queryRoute(Collections.singletonList(oaExpressVo.getExpressCode()));
OaExpressVo stoVo = com.ruoyi.oa.utils.StoRouteQueryUtil.parseData(result);
OaExpressVo stoVo = StoRouteQueryUtil.parseData(result);
if (stoVo != null) {
oaExpressVo.setLastUpdateTime(stoVo.getLastUpdateTime());
oaExpressVo.setLastStatus(stoVo.getLastStatus());
oaExpressVo.setLastUpdateTime(stoVo.getAcceptTime());
oaExpressVo.setLastStatus(stoVo.getFirstStatusName());
}
}
OaExpress add = BeanUtil.toBean(oaExpressVo, OaExpress.class);

View File

@@ -75,6 +75,8 @@ public class OaFurnitureTableServiceImpl implements IOaFurnitureTableService {
lqw.eq(bo.getLastEmailSendTime() != null, OaFurnitureTable::getLastEmailSendTime, bo.getLastEmailSendTime());
lqw.eq(StringUtils.isNotBlank(bo.getContactPerson()), OaFurnitureTable::getContactPerson, bo.getContactPerson());
lqw.eq(bo.getReceiveCount() != null, OaFurnitureTable::getReceiveCount, bo.getReceiveCount());
// 按邮件发送次数升序排序,发送次数少的靠前显示
lqw.orderByAsc(OaFurnitureTable::getEmailSendCount);
return lqw;
}