处理客户需求 及碰到的错误 BUG(自用)

第一次整理需求、修改、添加功能整了一个多星期,接近两个星期。

客户需求:
在这里插入图片描述
1、在前端显示页面增加编辑功能选项。

2、编辑功能选项用来修改最后到期时间。

3、修改完成后会有提交功能,将新的数据保存到数据库中。

4、如果可以在是否提醒选项中,选项为是便隐藏下方的修改到期时间栏,选项为否,将修改栏展出。

写前端和后端都出现了多方面的问题,主要原因在于基础不牢靠,技术力不够,照搬地方多,原理不懂没细看,倒是很多地方出错。

首先自己写的Update层注意set/get, 以及Upadate方法的编写

public class GpsFirstOnUpdate extends BaseDoAction {

    private Integer id;

    private Timestamp expireTime;

    private Integer isRemindSn;

    @Override
    public String doAction() {
        if (!checkBefore()) {
            return SUCCESS;
        }

        IGpsFirstOnDetails gpsFirstOnDetails = GpsFirstOnOverClass.getFactory().createQuery().single(id);
        gpsFirstOnDetails.setExpireTime(expireTime);
        gpsFirstOnDetails.setIsRemindSn(isRemindSn);
        try {
            gpsFirstOnDetails.update();
            setNormal(1);
            setMsg("修改成功");
        } catch (Exception e) {
            e.printStackTrace();//打印日志..
            setNormal(0);
            setMsg("修改失败");
        }
        return SUCCESS;
    }

    private boolean checkBefore() {
        System.out.println();
        if (id == null) {
            setNormal(0);
            setMsg("id不得为空");
            return false;
        }
        if (expireTime == null) {
            setNormal(0);
            setMsg("即将到期时间不得为空");
            return false;
        }
        return true;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Timestamp getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Timestamp expireTime) {
        this.expireTime = expireTime;
    }

    public Integer getIsRemindSn() {
        return isRemindSn;
    }

    public void setIsRemindSn(Integer isRemindSn) {
        this.isRemindSn = isRemindSn;
    }

}

首先自己定义了变量,对应数据库的表里的字段,同时也是编辑功能所需要的字段。
(不要添加多余的变量 用不到就不添加 以防出错 比如方法参数选用了错误的变量)

在前端页面 对标签做详细了解,jQuery json的方法也不怎么熟悉,导致页面编写困难,js逻辑页面也多半是复制粘贴,但是后面查了对应方法的功能,建议以后写代码配合注释。

映射页面:

<class name="com.air.model.GpsFirstOn" table="gps_first_on">
        <id name="id" type="int">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="sn" type="java.lang.String">
            <column name="sn" length="11" not-null="true">
                <comment>sn号</comment>
            </column>
        </property>
        <property name="pid" type="java.lang.Integer">
            <column name="pid" not-null="true">
                <comment>公众号id</comment>
            </column>
        </property>
        <property name="ownerId" type="java.lang.Integer">
            <column name="owner_id" not-null="true">
                <comment>小区管理员id</comment>
            </column>
        </property>
        <property name="agentId" type="java.lang.Integer">
            <column name="agent_id" not-null="true">
                <comment>代理商id</comment>
            </column>
        </property>
        <property name="firstOnTime" type="java.sql.Timestamp">
            <column name="first_on_time" length="19" not-null="true">
                <comment>dtu第一次心跳时间,redis里第一次有心跳数据为准</comment>
            </column>
        </property>
        <property name="expireTime" type="java.sql.Timestamp">
            <column name="expire_time" length="19" not-null="true"/>
        </property>

        <property name="remindStatus" type="java.lang.Integer">
            <column name="remind_status" length="11" >

            </column>
        </property>
        <property name="isRemindSn" type="java.lang.Integer">
            <column name="is_remind_sn" not-null="true">
                <comment>是否设置sn提醒</comment>
            </column>
        </property>
    </class>

这里是通过配置页面,将数据库中的字段与Java中的同名变量进行映射,注意映射路径和名字不要弄混淆。

在添加修改功能时,碰到的BUG、异常以及解决方法。
500:空指针异常:因为自己只写了update类,其他接口的retrun方法为空,导致经常无法获得返回值,以后碰到此类问题,现将相关的所有接口类全部看一遍,以防漏写。
前端页面的跳转失败,以及不显示问题:
在这里插入图片描述
红箭头标识的地方为指向类,跳转的方向一度写错导致显示为空。

jQuery SQL JSP 等多个方面需要加强学习 另外 写一篇个人仅见的文章 用于记录 公司常用问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当开发人员不认可一个 bug 或者不同意其作为一个真正的 bug 时,处理方式可以根据具体情况而定。以下是一些可能的处理方式: 1. 澄清需求:开发人员可能会认为该 bug 是由于需求不清楚或者不准确导致的。在这种情况下,你可以与开发人员一起仔细检查需求文档,确保对功能的理解一致,并修正任何可能引起歧义的地方。 2. 提供更多信息:有时候,开发人员可能认为 bug 报告中的信息不足以重现问题或者确认其有效性。在这种情况下,你可以尝试提供更详细的信息,例如复现步骤、屏幕截图、错误日志等,以帮助开发人员更好地理解和解决问题。 3. 沟通与讨论:如果开发人员对 bug 的存在性持有不同意见,可以进行进一步的讨论和沟通。你可以通过会议、邮件或其他沟通渠道与开发人员交流,解释问题的重要性,理解他们的观点,并尝试达成共识。 4. 跟踪和优先级管理:如果开发人员坚持认为该 bug 不是优先级较高的问题,或者他们认为可以通过其他方式解决,你可以与开发团队一起讨论并确定该 bug 的优先级。在这种情况下,可能需要在 bug 跟踪系统中记录该问题,并在合适的时候重新评估其优先级。 最终,处理开发人员不认可的 bug 需要通过有效的沟通和协商来解决。重要的是保持开放的态度,尊重并理解开发人员的观点,并寻求达成共识的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值