前端传入参数筛选失效

项目场景:

提示:这里简述项目相关背景:

前端传入的参数作为条件筛选时,其中is_send这个参数失效了,没有筛选正确状态的数据。


问题描述

提示:这里描述项目中遇到的问题:

例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:

"params": {
            "startTime": "2024-06-10",
            "endTime": "2024-06-20",
            "isSend": 1
        }
对应的mapper.xml的接口如下:
-- <select id="selectAll" resultType="com.im.system.domain.email.SendEmail">
        SELECT
            id,
        send_time as sendTime,
        update_time as updateTime,
        is_send as isSend,
        e_content as content
        FROM SendEmail
        <where>
            <if test="param1 != null ">
                AND send_time >= #{param1}
            </if>
            <if test="param2 != null">
                <![CDATA[
                 and send_time <= #{param2}
                ]]>
            </if>
            <if test="param3 != null and param3 != ' ' ">
                AND is_send = #{param3}
            </if>
        </where>
    </select>-

# 原因分析以及解决方案:
> 主要是因为param3 != ' ',将这段代码去除,就可以张却筛选数据。以及对于LocalDateTime也是不可以直接与空字符去比较的
> 这样,不论是0(假定代表未发送)还是1(假定代表已发送),只要不是null,都会正确地参与到查询条件中去。如果问题依旧,深入调查上述提到的几个方面将是关键。
> 但是具体为什么不可以添加空字符判断没有找到原因????
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值