最近在开始写【spring源码深度解析】系列文章,如果有对spring源码感兴趣的同学,欢迎点击左上角我的头像,查看相关文章,该系列文章均是结合我当时学习源码的经历编写完成,不是一上来就堆砌源码,而是从日常使用展开学习,力求让初学者弄懂spring相关模块的实现
前言
首先提出一个问题:在后台管理系统中,我们一般会根据当前登录用户查出直属相关的数据做列表展示,列表中有一列都会供用户点击来查看详情或其他信息,比如我是个保险公司的销售员,我要看我签约了哪些客户,然后点击某一个客户的详情看看签的合同细节,大家一般会怎么做?
有些同学可能会这么实现(采用springboot,代码只是基本实现,忽律空指针等异常)
- 首先是登录:

代码实现(简单示意)
//模仿redis存储登录用户token及用户信息
public static Map<String, Map<String,Object>> redisMap =new HashMap<>(128);
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/login")
@ResponseBody
public WebResult login(String username, String password){
//密码就不做加解密了
List<Map<String, Object>> userMapList=jdbcTemplate.queryForList("select * from t_user where name=? and password=?",username,password);
if (userMapList==null || userMapList.size()==0){
return WebResult.errorWebResult("用户名或密码错误");
}
Map<String,Object> dd=new HashMap<>();
dd.put("userId",userMapList.get(0).get("id"));
String token="test-"+ UUID.randomUUID().toString();
redisMap.put(token,dd);
return WebResult.successWebResult(token);
}
- 当前业务员发展的客户列表

代码实现
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/customerList")
@ResponseBody
public WebResult customerList(String token){
Integer userId = (Integer) Application.redisMap.get(token).get("userId");
//根据当前用户查出
return WebResult.successWebResult(jdbcTemplate.queryForList("select * from t_customer where user_id=?",userId));
}
- 点击【合同详情】

代码实现
(前端使用的layui,这里不重要,只需要知道前端调用详情的接口时传了客户id到后台)
layui.use('table', function(){
var table = layui.table;
table.render({
elem: '#test'
,url:'http://localhost:8080/customer/customerList'
,where: {
token: sessionStorage.getItem("token")}
,cols: [[
{
field:'id', width:80, title: 'ID', sort: true}
,{
field:'username', width:80, title: '用户名'}
,{
field:'sex', width:80, title: '性别', sort: true,templet: function(d){
return d.sex==1?'男':'女';
}}
,{
field:'city', width:80, title: '城市'}
,{
field:'sign', width:80, title: '签名'}
,{
field:'classify', width:120,title: '职业'}
,{
field:'wealth', title: '更多操作', sort: true,templet: '<div><a href="javascript:showContractInfo({
{d.id}})" class="layui-table-link">合同详情</a></div>'

最低0.47元/天 解锁文章
627

被折叠的 条评论
为什么被折叠?



