zoukankan      html  css  js  c++  java
  • 【ST】Describe an error from my past projects

    我最近的一次project应该是上个学期的web大作业,作业的要求是做一个论文的下载系统,类似于CNKI,分为管理员登陆和普通用户登陆,管理员可以修改用户密码,用户可以查看书籍详情,查看论文下载热度,下载论文,上传论文等等,当然下载需要耗费积分,而上传的论文被别人下载可以获得积分。

    在写下载部分的时候,大致就分了【下载他人的论文】和【下载自己的论文】两个部分,下载自己的论文只计入下载量,不计积分,而下载他人的论文则都计入。每个用户有10分的初始积分,论文可设置积分在1~99之间。

    因为做这个项目的时间比较紧迫,所以有很多论文都是自己匆忙添加的,设置的积分都很小,所以一开始看起来没有什么问题。但是最后测试的时候加入了一些大的数据,比如这个论文需要99分才可以下载,但是所有用户都没有这么多分数。于是奇怪的事情发生了,在下载积分小于用户当前积分的论文时,可以正常下载并扣除下载者积分,在下载积分大于当前用户积分的论文时,竟然可以直接下载而且不扣除积分??!!而且也不会给上传者任何积分!!

    虽然这样的系统bug如果给我用我会很开心,但是这确实是个大bug!

    我首先修改的是下载部分,因为下载部分虽然写了积分不足应有的情况,但是好像并没有生效。

    在一下午的修改之后,确认了下载部分并没有什么问题,所以问题没有被解决,bug应该出现在sql语句的逻辑部分。

    于是我转向修改sql语句,在几次重新的排列和整理逻辑之后,终于解决了这个问题。之后再用数据进行测试,也都没有问题了。

  • 相关阅读:
    mixer: 一个用go实现的mysql proxy
    【Unity Shaders】Using Textures for Effects——打包和混合textures
    sharding jdbc:分库、分表;读写分离;
    springboot(四):thymeleaf使用详解
    spring boot(三):spring data jpa的使用
    深入理解Java虚拟机JVM
    Java入门(4)内部类
    .NET 定时器类及使用方法
    JDK源码
    Java入门(3)面向对象三大特性:封装、继承、多态
  • 原文地址:https://www.cnblogs.com/eVonneDing/p/5247456.html
Copyright © 2011-2022 走看看