From 21ff8705ce45ae934fae91af3b4d7136ffa21e4c Mon Sep 17 00:00:00 2001 From: hdka <823267011@qq.com> Date: Sat, 16 Aug 2025 19:54:11 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=BB=91=E5=AE=9A=E9=A1=B9=E7=9B=AEid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/oa/domain/OaFeedback.java | 5 ++++ .../com/ruoyi/oa/domain/bo/OaFeedbackBo.java | 4 ++++ .../com/ruoyi/oa/domain/vo/OaFeedbackVo.java | 24 +++++++++++++++++++ .../com/ruoyi/oa/mapper/OaFeedbackMapper.java | 2 ++ .../oa/service/impl/OaExpressServiceImpl.java | 3 +++ .../service/impl/OaFeedbackServiceImpl.java | 3 ++- .../com/ruoyi/oa/utils/SfRouteQueryUtil.java | 4 ++-- .../resources/mapper/oa/OaFeedbackMapper.xml | 20 ++++++++++++++++ 8 files changed, 62 insertions(+), 3 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaFeedback.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaFeedback.java index 7df9603..dd76882 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaFeedback.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaFeedback.java @@ -47,4 +47,9 @@ public class OaFeedback extends BaseEntity { private String title; + /** + * 项目id + */ + private Long projectId; + } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java index d72534e..c440702 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java @@ -44,4 +44,8 @@ public class OaFeedbackBo extends BaseEntity { private Long state; private String title; + + private String projectName; + + private Long projectId; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java index 0fa6263..d505baf 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java @@ -50,7 +50,31 @@ public class OaFeedbackVo { @ExcelProperty(value = "") private Long state; + /** + * 标题 + */ private String title; + /** + * 项目id + */ + private Long projectId; + + /** + * 项目名 + */ + private String projectName; + + /** + * 项目代号 + */ + private String projectCode; + + + /** + * 项目编号 + */ + private String projectNum; + } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaFeedbackMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaFeedbackMapper.java index 33af6cf..23c05a3 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaFeedbackMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaFeedbackMapper.java @@ -24,4 +24,6 @@ public interface OaFeedbackMapper extends BaseMapperPlus expressIds) throws IOException { + System.out.println("12313123123"); for (Long expressId : expressIds) { OaExpressVo oaExpressVo = baseMapper.selectVoById(expressId); String expressType = oaExpressVo.getExpressType(); + System.out.println(expressType); if (expressType.equals("SF") && oaExpressVo.getStatus() ==1L) { + // 校验为顺丰则进入此位置更新状态 String result = SfRouteQueryUtil.queryRoute(oaExpressVo.getExpressCode(), oaExpressVo.getOwnerPhone() != null ? oaExpressVo.getOwnerPhone() : oaExpressVo.getSupplyPhone()); OaExpressVo oaExpressVo1 = SfRouteQueryUtil.parseData(result); diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index 99f79d8..a8b5a28 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -39,7 +39,7 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { */ @Override public OaFeedbackVo queryById(Long feedbackId){ - return baseMapper.selectVoById(feedbackId); + return baseMapper.selectVoByIdPlus(feedbackId); } /** @@ -77,6 +77,7 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query(); lqw.eq("ofi.user_id", LoginHelper.getUserId()); + lqw.orderByDesc("oaf.create_time"); return lqw; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/utils/SfRouteQueryUtil.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/utils/SfRouteQueryUtil.java index 41efd57..2106df0 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/utils/SfRouteQueryUtil.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/utils/SfRouteQueryUtil.java @@ -76,8 +76,6 @@ public class SfRouteQueryUtil { formParams.append("&accessToken=").append(URLEncoder.encode(accessToken, "UTF-8")); formParams.append("&msgData=").append(URLEncoder.encode(msgDataStr, "UTF-8")); String formBody = formParams.toString(); - System.out.println(formBody); - // 4. 发送POST请求 return doPost(API_URL, formBody); } catch (Exception e) { @@ -116,6 +114,7 @@ public class SfRouteQueryUtil { */ private static String doPost(String urlStr, String formBody) throws Exception { URL url = new URL(urlStr); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); @@ -131,6 +130,7 @@ public class SfRouteQueryUtil { while ((line = br.readLine()) != null) { sb.append(line); } + System.out.println(sb); return sb.toString(); } } else { diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml index 500053a..ad5b96b 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml @@ -44,11 +44,31 @@ oaf.content, oaf.status, oaf.title, + oaf.project_id, + sop.project_name, + sop.project_code, + sop.project_num, ofi.status as state from oa_feedback oaf left join oa_feedback_item ofi on oaf.feedback_id = ofi.feedback_id + left join sys_oa_project sop on sop.project_id = oaf.project_id ${ew.getCustomSqlSegment} + From ff86a3f425862c46a6312087f36401107c4858c5 Mon Sep 17 00:00:00 2001 From: hdka <823267011@qq.com> Date: Sat, 16 Aug 2025 20:02:51 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=BB=91=E5=AE=9A=E9=A1=B9=E7=9B=AEid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index a8b5a28..827e43e 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -77,6 +77,9 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query(); lqw.eq("ofi.user_id", LoginHelper.getUserId()); + lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_name", bo.getProjectName()); + lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_code", bo.getProjectName()); + lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_num", bo.getProjectName()); lqw.orderByDesc("oaf.create_time"); return lqw; } From da0f8344f6e90d021cf4ed56fe80af86450dd020 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Mon, 18 Aug 2025 15:00:31 +0800 Subject: [PATCH 3/7] =?UTF-8?q?feat(oa):=20=E4=BC=98=E5=8C=96=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在查询条件中增加项目 ID 和标题的精确匹配- 保留了原有的项目名称模糊查询逻辑 --- .../java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index 827e43e..bbd68e9 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -77,6 +77,8 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query(); lqw.eq("ofi.user_id", LoginHelper.getUserId()); + lqw.eq("oaf.project_id",bo.getProjectId()); + lqw.like("oaf.title", bo.getTitle()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_name", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_code", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_num", bo.getProjectName()); From 26912baa66d632ceb7643897930654373db5fa37 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Mon, 18 Aug 2025 15:04:34 +0800 Subject: [PATCH 4/7] =?UTF-8?q?refactor(oa):=20=E4=BC=98=E5=8C=96=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了不必要的导入语句 - 修改了项目 ID 和标题的查询条件,增加了非空判断 - 优化了查询参数的处理,提高了查询的准确性和效率 --- .../com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index bbd68e9..2df9b59 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -6,8 +6,6 @@ import com.ruoyi.common.helper.LoginHelper; 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 lombok.RequiredArgsConstructor; import lombok.val; @@ -77,8 +75,8 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query(); lqw.eq("ofi.user_id", LoginHelper.getUserId()); - lqw.eq("oaf.project_id",bo.getProjectId()); - lqw.like("oaf.title", bo.getTitle()); + lqw.eq(bo.getProjectId()!= null, "oaf.project_id",bo.getProjectId()); + lqw.like(StringUtils.isNotBlank(bo.getTitle()), "oaf.title", bo.getTitle()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_name", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_code", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_num", bo.getProjectName()); From 76fd5446a590a6a775aba8d44b68848132e0a981 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Tue, 19 Aug 2025 09:16:19 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat(oa):=20=E9=97=AE=E9=A2=98=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E5=A2=9E=E5=8A=A0=E6=97=B6=E9=97=B4=E5=8C=BA=E9=97=B4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在OaFeedbackBo 中添加 startTime 和 endTime 字段,用于指定查询的时间区间 - 在 OaFeedbackServiceImpl 中实现时间区间查询的逻辑 - 使用 @DateTimeFormat 注解确保日期格式的一致性 --- .../java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java | 15 ++++++++++++--- .../oa/service/impl/OaFeedbackServiceImpl.java | 3 +++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java index c440702..61b7368 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaFeedbackBo.java @@ -1,14 +1,12 @@ package com.ruoyi.oa.domain.bo; -import com.ruoyi.common.core.validate.AddGroup; -import com.ruoyi.common.core.validate.EditGroup; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.*; import java.util.Date; import com.ruoyi.common.core.domain.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * 问题反馈业务对象 oa_feedback @@ -48,4 +46,15 @@ public class OaFeedbackBo extends BaseEntity { private String projectName; private Long projectId; + /** + * 区间开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + + /** + * 区间结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index 2df9b59..cd56d92 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -80,6 +80,9 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_name", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_code", bo.getProjectName()); lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_num", bo.getProjectName()); + if (bo.getStartTime() != null && bo.getEndTime() != null) { + lqw.between("oaf.create_time", bo.getStartTime(), bo.getEndTime()); + } lqw.orderByDesc("oaf.create_time"); return lqw; } From db717d25ac048517daebd30745ffae7927961255 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Tue, 19 Aug 2025 09:38:18 +0800 Subject: [PATCH 6/7] =?UTF-8?q?feat(oa):=20=E9=97=AE=E9=A2=98=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E9=A1=B5=E9=9D=A2=E5=A2=9E=E5=8A=A0=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=92=8C=E5=88=9B=E5=BB=BA=E8=80=85=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 OaFeedbackMapper.xml 中添加 create_time 和 create_by 字段的查询 - 在 OaFeedbackVo.java 中添加 createTime 和 createBy属性 - 使用 @JsonFormat 注解格式化创建时间 -让 OaFeedbackVo 继承 BaseEntity 以复用基础实体类的功能 --- .../com/ruoyi/oa/domain/vo/OaFeedbackVo.java | 18 +++++++++++++----- .../resources/mapper/oa/OaFeedbackMapper.xml | 2 ++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java index d505baf..6bc4d92 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaFeedbackVo.java @@ -2,11 +2,11 @@ package com.ruoyi.oa.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.ruoyi.common.annotation.ExcelDictFormat; -import com.ruoyi.common.convert.ExcelDictConvert; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; import lombok.Data; -import java.util.Date; +import java.util.Date; /** @@ -17,7 +17,7 @@ import java.util.Date; */ @Data @ExcelIgnoreUnannotated -public class OaFeedbackVo { +public class OaFeedbackVo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -70,11 +70,19 @@ public class OaFeedbackVo { */ private String projectCode; - /** * 项目编号 */ private String projectNum; + /** + * 创建者 + */ + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; } diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml index ad5b96b..1c9be1f 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaFeedbackMapper.xml @@ -44,6 +44,8 @@ oaf.content, oaf.status, oaf.title, + oaf.create_time, + oaf.create_by, oaf.project_id, sop.project_name, sop.project_code, From e7b0791388fa442f6fabcf4d9494b9f02333ca5b Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Tue, 19 Aug 2025 10:06:04 +0800 Subject: [PATCH 7/7] =?UTF-8?q?feat(oa):=20=E4=B8=BA=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E7=BD=AE=E5=88=9B=E5=BB=BA=E8=80=85?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在保存反馈信息时,添加了设置创建者昵名的方法 - 优化了反馈信息的保存流程,确保每个反馈都有创建者信息 --- .../java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java index cd56d92..8274895 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaFeedbackServiceImpl.java @@ -95,6 +95,7 @@ public class OaFeedbackServiceImpl implements IOaFeedbackService { OaFeedback add = BeanUtil.toBean(bo, OaFeedback.class); validEntityBeforeSave(add); + add.setCreateBy(LoginHelper.getNickName()); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setFeedbackId(add.getFeedbackId());