【开源项目笔记:platform-wechat-mall】linux下 自定义管理员角色查询商品列表为空

随着项目逐步完善,一些自带bug渐渐露出了尾巴:)

本次的问题是:linux下 自定义管理员角色查询商品列表为空,而本地Windows下查询正常。

1 查看网页反馈信息

查询请求上报后,服务器返回的错误是“500 内部异常,请联系管理员”。

都内部异常了,日志里肯定该有记录,查看一下:

cd /usr/local/platform/logs
vi info.log

然而,日志里啥错误信息也莫得,这不禁让人想起了曾经记录过的问题:
linux下 部分模块Log4j日志不输出
不会异常记录模块也是linux下日志不能输出吧?

2 解决linux日志输出异常错误

查看 RRExceptionHandler.java,还真就是同一个坑 :),改吧:

原代码:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
……
public class RRExceptionHandler {
    private Logger logger = LoggerFactory.getLogger(getClass());
    ……
    }

修改后:

import org.apache.log4j.Logger;
……
public class RRExceptionHandler {
    protected Logger logger = Logger.getLogger(getClass());
    ……
    }

再次部署war,用自定义管理员角色查询商品列表。

3 解决linux 查询商品列表为空

这次日志里有错误轨迹记录了:

SQL: select dept_id from sys_role_dept where role_id IN (SELECT role_id FROM SYS_USER_ROLE WHERE user_id =  ?)
### Cause: java.sql.SQLSyntaxErrorException: Table 'platform-shop.SYS_USER_ROLE' doesn't exist
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'platform-shop.SYS_USER_ROLE' doesn't exist

划重点:Table ‘platform-shop.SYS_USER_ROLE’ doesn’t exist。
emm……,果然是大小写的问题又来了吗?
Centos Tomcat 下部署Web项目中,我们在部署war项目之前修改了一个地方

修改表schedule_job的名称为SCHEDULE_JOB

原因就是linux区分大小写会导致数据库读不到正确的表格。现在熟悉的朋友又回来了:)。

查看数据库,果然table名是 sys_user_role。
查找“SYS_USER_ROLE”,出现在SysRoleDeptDao.xml

<select id="queryDeptIdListByUserId" resultType="long">
   select dept_id from sys_role_dept where role_id IN (SELECT role_id FROM SYS_USER_ROLE WHERE user_id =  #{value})
</select>

修改为

<select id="queryDeptIdListByUserId" resultType="long">
   select dept_id from sys_role_dept where role_id IN (SELECT role_id FROM sys_user_role WHERE user_id =  #{value})
</select>

再次部署war,用自定义管理员角色查询商品列表,ok!

出现过的错误更容易再次出现,古人诚不我欺!

That’s all!Thank you!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值