controller层
@GetMapping(value = "/listPlus")
public Result<IPage<HashMap<String, String>>> listPlus(StudentParents studentParents,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<StudentParents> queryWrapper = QueryGenerator.initQueryWrapper(studentParents, req.getParameterMap());
Page<HashMap<String, String>> page = new Page<>(pageNo, pageSize);
boolean isAdmin = SecurityUtils.getSubject().hasRole("admin");
boolean groupAdmin = SecurityUtils.getSubject().hasRole("groupadmin");
if (!isAdmin && !groupAdmin) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String orgCode = user.getOrgCode();
String s = orgCode.substring(0, 3);
SysDepart sysDepart = sysDepartService.queryCompByOrgCode(s);
queryWrapper.eq("c.kindergarten_id", sysDepart.getId());
}
IPage<HashMap<String, String>> list = studentParentsMapper.listPlus(page, queryWrapper);
return Result.OK(list);
}
mapper层
public IPage<HashMap<String, String>> listPlus(IPage<?> page,
@Param("ew") QueryWrapper QueryWrapper);
xml语句
<select id="listPlus" parameterType="java.lang.String" resultType="java.util.HashMap">
select a.create_time,a.id,a.student_id studentId,d.depart_name departName,c.class_name className,b.stu_name stuName,a.parent_id as parentId,a.relation_student relationStudent,a.parent_name parentName,e.avatar as parentPhoto,a.parent_phone_number parentPhoneNumber,if(a.primary_parent =1,"是","否") primaryParent
from lwb_lw_student_parents a
left join lwb_lw_student b
on b.id = a.student_id
left join lwb_lw_class c
on c.id = b.stu_class_id
left join sys_depart d
on d.id = c.kindergarten_id
left join sys_user e
on e.id = a.parent_id
${ew.customSqlSegment}
</select>