serviceimpl层update的逻辑合理吗

0表示数据被修改,1表示更新成功,2表示更新失败,3表示数据不存在。


public int updateUpgradeRecord(UpgradeRecord upgradeRecord) {
        Date changed = upgradeRecordMapper.selectById(upgradeRecord.getId()).getChanged();
        if(upgradeRecordMapper.selectById(upgradeRecord.getId())!=null) {
            UpdateWrapper updateWrapper = new UpdateWrapper();
            updateWrapper.eq("id",upgradeRecord.getId());
            updateWrapper.set("upgrade_apply_remark", upgradeRecord.getUpgradeApplyRemark());
            updateWrapper.set("upgrade_apply_version", upgradeRecord.getUpgradeApplyVersion());
            updateWrapper.set("upgrade_apply_to_appointment_time", upgradeRecord.getUpgradeApplyToAppointmentTime());
            updateWrapper.set("upgrade_applicant", upgradeRecord.getUpgradeApplicant());
            upgradeRecordMapper.update(null, updateWrapper);

            if(changed ==upgradeRecordMapper.selectById(upgradeRecord.getId()).getChanged()){
                return  0;
            }
            else {return  1;}
        }
        return 2;
    }

写完以后,问组长,他告诉我:逻辑上都可以,但是否合适可以考虑下
这是为什么,求各位哥指点我一下