1. 在有状态显示的情况下,要充分考虑状态的流转,创建表的时候要考虑带状态显示的问题。某个商品可能实际是一个状态,但是在显示的时候要是另外一个状态,方便对该订单进行后续的操作。
2. 一个状态多个来源我呢提----当一个状态有由多个地方流转过来的时候,必须要考虑到订单状态流转来源不同可能处理的结果也不同,对不同来源的订单要根据实际情况进行判断。
3.页面锁定问题----当一个界面已经有一个人进入的时候,并且因为需求原因别的用户就不能进入,这就需要在一个用户进入的时候加入一个锁定的状态,在别的用户再进入的时候判断这个界面的锁定状态是否是锁定的。注意加锁的时候要考虑到用户打开了界面但没有操作的情况,要为这个锁设置一个过期时间。同时要考虑到同一个用户进入了一个界面,界面加锁,但是用户什么都没做就退出了界面,再次进入的时候锁定缓存时间还未到,该用户不能也显示锁定状态,这个时候就需要redis缓存的数据key可以是界面的id或者是根据什么进入这个界面的数据,value保存userid,当userid为同一个人的时候,就不能锁定。
4.加入缓存的时候要考虑到是所有人都要使用到这个缓存,还是说不同的用户看到不同的缓存。如果是不同的用户看到的内容不同,就需要至少根据userid(用户id)来设定redis缓存的key。
5.历史记录顺序问题和时间限制---可以按顺序取出,如果取出的数据无序但是传入的数据有序,可以根据传入的数据进行一个遍历排序。历史记录的时间限制(比如三个月内的历史纪录)---↓
select distinct orderno from check_step where userid=:userid and role =1 and createtime>=DATE_SUB(SYSDATE(),INTERVAL 3 MONTH) order by createtime desc
6.在更改sql语句的时候,或者进行sql语句传值的时候要看看有没有把等于号给删除了,或者是用于接收的数据的数据格式是否正确。
7.在进行角色判断的时候不能只由后端的用户来判断,可以根据前端传过来的角色来进行审核是否由有该角色。