黄国外网站,新市区做网站,天津市武清区网站建设,网站开发投标书文章目录 1、BrandController2、AdminCommonService3、BrandApiService3、BrandCommonService4、BrandSqlService涉及的表SQL 查询逻辑参数处理执行查询完整 SQL 逻辑参数映射总结 查询指定管理员下的品牌所涉及的表有哪些#xff1f; http://127.0.0.1:8087/brand/admin/list… 文章目录 1、BrandController2、AdminCommonService3、BrandApiService3、BrandCommonService4、BrandSqlService涉及的表SQL 查询逻辑参数处理执行查询完整 SQL 逻辑参数映射总结 查询指定管理员下的品牌所涉及的表有哪些 http://127.0.0.1:8087/brand/admin/list?page0size10fieldenglishName1、BrandController GetMapping(admin/list)ApiOperation(分页列表)public BaseResult findAll(PageWithSearch basePage, ApiIgnore SessionAttribute(Constants.ADMIN_ID) Integer adminId) {checkParam(basePage.getField(), basePage.getValue());adminId adminCommonService.getVipIdByBrand(adminId);return BaseResult.success(brandApiService.findPage(adminId, basePage));}2、AdminCommonService /*** 获取商品管理人的上级vip id* 当操作者为品牌管理人时获取上级的vip id* 否则返回自身*/public Integer getVipIdByBrand(Integer nowId) {return hasRole(nowId, Admin.ROLE_BRAND) || hasRole(nowId, Admin.ROLE_PRODUCT) ? findCompanySuperId(nowId) : nowId;}/*** 查询公司超管id*/public Integer findCompanySuperId(Integer adminId) {return adminService.findCompanySuperId(adminId);}3、BrandApiService /*** 品牌分页列表*/public PageBrandListDto findPage(Integer nowId, PageWithSearch page) {PageBrandWithShareDto brandPage brandCommonService.findPage(nowId, page);return new PageImpl(convertToBrandDto(brandPage.getContent(), nowId), page.toPageable(), brandPage.getTotalElements());}3、BrandCommonService /*** 品牌管理-品牌分页列表*/public PageBrandWithShareDto findPage(Integer nowId, PageWithSearch basePage) {return brandSqlService.findPage(nowId, basePage);}4、BrandSqlService /*** 品牌管理-分页列表*/public PageBrandWithShareDto findPage(Integer nowId, PageWithSearch basePage) {StringBuilder sql new StringBuilder();MapString, Object paramMap new HashMap(4);sql.append(SELECT DISTINCT ).append(SqlUtil.sqlGenerate(b, Brand.class)).append(,a.edit_auth,a.create_auth, a.send_id FROM brand b );//sql.append(LEFT JOIN brand_admin_mapping a ON b.id a.brand_id );//sql.append( AND a.admin_id).append(nowId).append( ).append( AND a.read_auth).append(CommonStatusEnum.NORMAL.getValue()).append( );//sql.append(WHERE (b.creator_id ).append(nowId).append( OR ).append(a.id IS NOT NULL) );sql.append(INNER JOIN brand_admin_mapping a ON b.id a.brand_id AND a.admin_id).append(nowId).append( );//有编辑权限 || (有查看权限 品牌状态为显示)sql.append(WHERE (a.edit_auth ).append(CommonStatusEnum.NORMAL.getValue()).append( OR (a.read_auth ).append(CommonStatusEnum.NORMAL.getValue()).append( AND b.status ).append(CommonStatusEnum.NORMAL.getValue()).append()) );paramHandle(sql, paramMap, basePage.getField(), basePage.getValue());orderByHandle(basePage.getProperties(), basePage.getDirection(), sql);List result executeSql(sql, paramMap, basePage.getPage(), basePage.getSize());if (result.isEmpty()) {return new PageImpl(Collections.emptyList(), basePage.toPageable(), 0);}return new PageImpl(parseToBrandWithShare(result), basePage.toPageable(), countPage(nowId, basePage.getField(), basePage.getValue()));}从你提供的代码片段来看这段代码主要用于构建和执行一个复杂的 SQL 查询并返回分页结果。让我们逐步分析这段代码以确定涉及的表和查询逻辑。
涉及的表
根据代码中的 SQL 构建逻辑涉及的表有 brand 用于存储品牌信息。列包括但不限于 id、creator_id、status 等。 brand_admin_mapping 用于存储品牌和管理员的映射关系。列包括但不限于 id、brand_id、admin_id、edit_auth、read_auth 等。
SQL 查询逻辑 选择字段 SELECT DISTINCT b.*, a.edit_auth, a.create_auth, a.send_id FROM brand b连接表 INNER JOIN brand_admin_mapping a ON b.id a.brand_id AND a.admin_id ?过滤条件 WHERE (a.edit_auth ? OR (a.read_auth ? AND b.status ?))参数处理
paramHandle(sql, paramMap, basePage.getField(), basePage.getValue());处理参数将查询条件添加到 SQL 中。orderByHandle(basePage.getProperties(), basePage.getDirection(), sql);处理排序条件将排序条件添加到 SQL 中。
执行查询
executeSql(sql, paramMap, basePage.getPage(), basePage.getSize());执行 SQL 查询并获取分页结果。
完整 SQL 逻辑
根据代码片段完整的 SQL 查询逻辑如下
SELECT DISTINCT b.*, a.edit_auth, a.create_auth, a.send_id
FROM brand b
INNER JOIN brand_admin_mapping a ON b.id a.brand_id AND a.admin_id ?
WHERE (a.edit_auth ? OR (a.read_auth ? AND b.status ?))参数映射
a.admin_id ?当前管理员的 ID。a.edit_auth ?编辑权限。a.read_auth ?查看权限。b.status ?品牌状态。
总结
表brand 和 brand_admin_mapping。查询逻辑通过 INNER JOIN 连接 brand 和 brand_admin_mapping 表并根据权限和状态进行过滤。
如果你有更多关于这段代码的具体问题或需要进一步的帮助请告诉我