2.创建V_Customer视图
SELECT t1.customer_id
,t1.customer_name
,t1.address
,t1.c_sex
,t1.email
,t1.base_id
,t1.id_card
,t1.mobile_phone
,t1.order_id
,t1.remark
,t1.user_id
,t2.user_name
,t2.real_name
,t3.base_name
from t_customer t1
left join t_user t2
on t1.user_id = t2.user_id
left join t_basicdata t3
on t1.base_id = t3.base_id
通过视图将对应的业务员姓名和常用区间信息查询了出来,便于展示数据
3.CustomerDto创建
package com.bobo.dto;
import com.bobo.pojo.Customer;
/**
-
客户的数据传输对象
-
@author 波波烤鸭
-
dengpbs@163.com
*/
public class CustomerDto extends BasePage{
private Customer customer;
// 业务员
private String salesMan;
// 常用区间
private String interval;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public String getSalesMan() {
return salesMan;
}
public void setSalesMan(String salesMan) {
this.salesMan = salesMan;
}
public String getInterval() {
return interval;
}
public void setInterval(String interval) {
this.interval = interval;
}
}
4.CustomerMapper.xml
select
t1.customer_id
,t1.customer_name
,t1.address
,t1.c_sex
,t1.email
,t1.base_id
,t1.id_card
,t1.mobile_phone
,t1.order_id
,t1.remark
,t1.user_id
,t1.user_name
,t1.real_name
,t1.base_name
from v_customer t1
user_id = #{userId}
5.CustomerMapper.java
List queryView(Customer record);
6.service层
接口
/**
-
分页查询
-
@param dto
-
@return
*/
public PageInfo queryPage(CustomerDto dto,User user);
实现
/**
-
当前用户如果是 业务员 只能查看所属的客户
-
如果是 操作员 或者 管理员 能查看所有的客户
*/
@Override
public PageInfo queryPage(CustomerDto dto,User user) {
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
// 获取角色信息
List list = userService.queryRoleByUserId(user.getUserId());
boolean flag = false;
if(list != null && list.size() > 0){
for (Role role : list) {
if(Constant.ROLE_ADMIN.equals(role.getRoleName())
|| Constant.ROLE_OPERATOR.equals(role.getRoleName())){
// 拥有操作员或者管理员的身份,查询所有的客户信息
flag = true;
break;
}
}
}
// 业务员 限制查询
Customer customer = new Customer();
if(flag == false){
customer.setUserId(user.getUserId());
}
List customers = customerMapper.queryView(customer);
return new PageInfo<>(customers);
}
7.控制器
@RequestMapping(“/query”)
public String query(CustomerDto dto,Model model){
// 获取登录用户信息
User user = (User) SecurityUtils.getSubject().getPrincipal();
System.out.println(“—>”+user.getUserId());
PageInfo list = customerService.queryPage(dto,user);
model.addAttribute(Constant.PAGE_MODEL, list);
return “customer/customer”;
}
8.Customer.jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
位置: