spring开发问题总结(持续更新)

开始

最近在做项目的时候,总遇到一些大小不一,奇形怪状的问题。

现在终于有时间来总结一下遇到的问题,以备复习之用。
以下提到的问题经过简化,不代表任何项目代码或问题。

问题1:未完成任务状态搜索结果有误,不应该搜索出已超期数据。

原因:因为未完成、已完成和已超期的范围限定有问题,存在需求理解不透彻的问题。

解决:

java 复制代码
/*
1、首先有3个指标
任务截止时间
任务完成时间
任务完成状态:任务完成数/任务总数
8、需求的限定条件
未完成0:任务完成状态!=1,并且当前时间<截止时间(一律未完成)
已完成1:任务完成状态==1&完成时间<截止时间&完成日期不能为空
已超期2:任务完成状态!=1&当前时间>截止时间,或者任务完成状态!=1&当前时间>截止时间&完成时间为null
这里主要的是状态区分,0和1确定好之后,剩下的就是已超期。
*/

问题2:活动结束时间提交后,结束时间不对。

原因:java如果把字段设置为date类型,spring会自动把前端传入的时间(2024-05-08 12:12:12)转换为看不懂的时间,spring框架的问题,自动转时间了。

解决:

java 复制代码
/*
我们拿string来接收时间参数。
然后再转换为数据库需要date类型。
还有一种情况,前端可能会传过来时间戳的类型,也需要把时间戳转为date类型,然后插入数据库。
(这里需要改进)
*/
  /**
     * 提交日期
     */
    @ApiModelProperty(value = "提交日期", required = true)
    @DateTimeFormat("yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    //@JSONField(format = "yyyy-MM-dd") //@JsonFormat失效则使用@JSONField 具体原因可百度
    private Date submitDate;
    /*
    @DateTimeFormat是spring包里面的注解,作用是接收从页面传到后台的日期值
@JsonFormat是jackson包里面的注解,作用是从后台向前台传递日期值。
解决相差八小时:timezone="GMT+8"
*/

问题3:活动时间搜索结果查不到最后一天的数据。

原因:因为SQL查询语句是根据%Y-%m-%d 来查询的,所以会查不到最后一天的数据。

解决:

java 复制代码
/*
需要查到精确的时分秒时间,才能够查出来数据,如下所示,
and pm.start_date >= STR_TO_DATE(CONCAT(#{param.startDate},'00:00:00'),'%Y-%m-%d %H:%i:%s')
and STR_TO_DATE(CONCAT(#{param.endDate}, '23:59:59'),'%Y-%m-%d %H:%i:%s') >= pm.end_date
需要把字符串拼接在一起,然后在转换为时间进行比较STR_TO_DATE
*/

问题4:驳回数据,重新提交,再次驳回,应用端代办未显示再次驳回数据代办。

原因:在查询待办的时候,限定了活动开始和结束时间。

解决:

java 复制代码
去掉开始和结束时间的查询限制,但是要限定用户id,以及未删除。

问题5:代办中心点击待复盘数据,跳转页面有误。

原因:在redis里面消息的id获取的时候重复了。因为msgid只有0000数,但是深夜跑数据的时候,会用掉大部分的数据,所以导致id重复了,而对方系统会根据id来获取一个id,然后再跳转,就出问题了。

解决:

java 复制代码
/*
把redis里面的数量增加到十万级别,然后id就不会重复了。
*/

结尾

怎么说呢,因为刚开始写后端代码,很多东西还有待熟悉,例如:

1、业务逻辑熟悉不全面;

2、对需求理解不够透彻;

3、SQL一些函数还不熟悉;

4、测试不够充分;

5、粗心大意;

以上这些都要针对性的去解决才行,没有后退可言,只能一步一个脚印向前冲!!!

共勉。

相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
弥琉撒到我1 小时前
微服务swagger解析部署使用全流程
java·微服务·架构·swagger
一颗花生米。2 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼2 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
ok!ko6 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2401_857622666 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
2402_857589366 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰7 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没8 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
_.Switch8 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j