<select id="pageCC" resultType="com.example.entity.RecordRes">
select a.*,b.name goodsname,c.name storagename,d.name goodstypename,
(select U.name from user U where U.id = a.userId) as username,
(select U.name from user U where U.id = a.admin_id) as adminname
from record a,goods b,storage c,goodstype d
-- where a.goods=b.id
-- and b.storage = c.id and b.goodstype=d.id
${ew.customSqlSegment}
</select>
@PostMapping("/listPageCC")
public Result listPageCC(@RequestBody QueryPageParam query){
HashMap param = query.getParam();
String name = (String) param.get("name");
String goodstype = (String) param.get("goodstype");
String storage = (String) param.get("storage");
String roleId = (String) param.get("roleId");
String userId = (String) param.get("userId");
Page<Record> page = new Page<>();
page.setCurrent(query.getPageNum());
page.setSize(query.getPageSize());
QueryWrapper<Record> queryWrapper = new QueryWrapper<>();
queryWrapper.apply(" a.goods=b.id and b.storage = c.id and b.goodstype=d.id");
if("2".equals(roleId)){
queryWrapper.apply("a.userId="+userId);
}
if(StringUtils.isNotBlank(name) && !"null".equals(name)){
queryWrapper.like("b.name",name);
}
if(StringUtils.isNotBlank(goodstype) && !"null".equals(goodstype)){
queryWrapper.eq("d.id",goodstype);
}
if(StringUtils.isNotBlank(storage) && !"null".equals(storage)){
queryWrapper.eq("c.id",storage);
}
//IPage result = goodsService.pageC(page);
IPage result = recordService.pageCC(page,queryWrapper);
System.out.println("total==" + result.getTotal());
return Result.suc(result.getRecords(),result.getTotal());
}多表查询