当前位置: 首页 > news >正文

网购网站模板武汉做网页推广公司

网购网站模板,武汉做网页推广公司,定期做图书推荐的网站,长春财经学院宿舍图片文章目录 1、ProductController2、AdminCommonService3、ProductApiService4、ProductCommonService5、ProductSqlService1. 完整SQL分析可选部分(条件筛选): 2. 涉及的表3. 总结4. 功能概述 查询指定管理员下所有产品所涉及的表?…

文章目录

  • 1、ProductController
  • 2、AdminCommonService
  • 3、ProductApiService
  • 4、ProductCommonService
  • 5、ProductSqlService
      • 1. 完整SQL分析
        • 可选部分(条件筛选):
      • 2. 涉及的表
      • 3. 总结
      • 4. 功能概述

查询指定管理员下所有产品所涉及的表?

SELECT * FROM `brand_admin_mapping` WHERE `admin_id`  = 75;SELECT * FROM `product` WHERE `brand_id` = 30SELECT * FROM `product` WHERE `brand_id` = 40SELECT * FROM `product_admin_mapping` WHERE `admin_id` = 75
 http://127.0.0.1:8087/product/admin/list?page=0&size=10&field=name

1、ProductController

    @GetMapping("admin/list")@ApiOperation("分页列表")public BaseResult list(PageWithSearch basePage, @ApiIgnore @SessionAttribute(Constants.ADMIN_ID) Integer adminId) {checkParam(basePage.getField(), basePage.getValue());adminId = adminCommonService.getVipIdByProduct(adminId);return BaseResult.success(productApiService.findPage(adminId, basePage));}

2、AdminCommonService

    /*** 获取商品管理人的上级vip id* 当操作者为商品管理人时获取上级的vip id* 否则返回自身*/public Integer getVipIdByProduct(Integer nowId) {return hasRole(nowId, Admin.ROLE_PRODUCT) || hasRole(nowId, Admin.ROLE_QUALIFICATION) || hasRole(nowId, Admin.ROLE_STORE) ? findCompanySuperId(nowId) : nowId;}/*** 查询公司超管id*/public Integer findCompanySuperId(Integer adminId) {return adminService.findCompanySuperId(adminId);}

3、ProductApiService

    /*** 分页列表*/public Page<ProductListDto> findPage(Integer nowId, PageWithSearch page) {Page<ProductWithShareDto> productPage = productCommonService.findPage(nowId, page);return new PageImpl<>(convertToListDto(productPage.getContent(), nowId), page.toPageable(), productPage.getTotalElements());}

4、ProductCommonService

    /*** 产品管理-产品分页列表*/public Page<ProductWithShareDto> findPage(Integer nowId, PageWithSearch basePage) {return productSqlService.findPage(nowId, basePage);}

5、ProductSqlService

    /*** 产品管理-分页列表*/public Page<ProductWithShareDto> findPage(Integer nowId, PageWithSearch basePage) {StringBuilder sql = new StringBuilder();Map<String, Object> paramMap = new HashMap<>(4);sql.append("SELECT DISTINCT ").append(SqlUtil.sqlGenerate("p", Product.class)).append(",a.send_id, a.edit_auth FROM product p ");if (!StringUtils.isEmpty(basePage.getField()) && !StringUtils.isEmpty(basePage.getValue()) && brandParamStr.contains(basePage.getField())) {sql.append("INNER JOIN brand b ON p.brand_id = b.id AND b.").append(SqlUtil.camelToUnderline(basePage.getField().replaceAll("brand", ""))).append(" LIKE :").append(basePage.getField()).append(" ");paramMap.put(basePage.getField(), "%" + basePage.getValue() + "%");}//sql.append("LEFT JOIN product_admin_mapping a ON p.id = a.product_id ");//sql.append("AND a.admin_id=").append(nowId).append(" AND a.read_auth =").append(CommonStatusEnum.NORMAL.getValue()).append(" ");//sql.append("WHERE (p.creator_id =").append(nowId).append(" OR ").append("a.id IS NOT NULL) ");sql.append("INNER JOIN product_admin_mapping a ON p.id = a.product_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 p.status =").append(CommonStatusEnum.NORMAL.getValue()).append(")) ");paramHandle(sql, paramMap, basePage.getField(), basePage.getValue());sql.append("ORDER BY p.ranks DESC,p.created_date DESC ");List result = executeSql(sql, paramMap, basePage.getPage(), basePage.getSize());if (result.isEmpty()) {return new PageImpl<>(Collections.emptyList(), basePage.toPageable(), 0);}return new PageImpl<>(parseToProductWithShare(result), basePage.toPageable(), countPage(nowId, basePage.getField(), basePage.getValue()));}

1. 完整SQL分析

从代码中生成的SQL大致如下:

SELECT DISTINCT p.*, a.send_id, a.edit_auth 
FROM product p 
INNER JOIN product_admin_mapping a ON p.id = a.product_id AND a.admin_id = :nowId

条件部分:

WHERE (a.edit_auth = :normalStatus OR (a.read_auth = :normalStatus AND p.status = :normalStatus))

排序部分:

ORDER BY p.ranks DESC, p.created_date DESC
可选部分(条件筛选):

basePage.getField()basePage.getValue() 存在时:

INNER JOIN brand b ON p.brand_id = b.id AND b.<转换后的字段> LIKE :fieldValue

2. 涉及的表

  1. product:产品表(p
  2. product_admin_mapping:产品与管理员权限映射表(a
  3. brand(条件存在时):品牌表(b

3. 总结

最终SQL根据逻辑最多涉及 3张表

  1. product
  2. product_admin_mapping
  3. brand(可选)

4. 功能概述

  • 基于管理员ID (nowId) 和搜索条件筛选产品。
  • 关联管理员权限(编辑或查看权限)。
  • 按照产品的排名和创建时间排序返回分页结果。

在这里插入图片描述


文章转载自:
http://consuelo.pqbz.cn
http://latakia.pqbz.cn
http://numbhead.pqbz.cn
http://tolerationism.pqbz.cn
http://claret.pqbz.cn
http://detribalize.pqbz.cn
http://octastyle.pqbz.cn
http://clavecinist.pqbz.cn
http://decomposed.pqbz.cn
http://ocelot.pqbz.cn
http://aragonite.pqbz.cn
http://raw.pqbz.cn
http://regionalize.pqbz.cn
http://humiliation.pqbz.cn
http://demonologic.pqbz.cn
http://snead.pqbz.cn
http://fortuitous.pqbz.cn
http://toxicologist.pqbz.cn
http://zooplankton.pqbz.cn
http://sidesman.pqbz.cn
http://socioeconomic.pqbz.cn
http://unsubsidized.pqbz.cn
http://hexanaphthene.pqbz.cn
http://abashment.pqbz.cn
http://circumspect.pqbz.cn
http://panzer.pqbz.cn
http://absolution.pqbz.cn
http://pecksniff.pqbz.cn
http://wassermann.pqbz.cn
http://teutonization.pqbz.cn
http://concoction.pqbz.cn
http://plumate.pqbz.cn
http://surfeit.pqbz.cn
http://expiry.pqbz.cn
http://hypnos.pqbz.cn
http://cabriolet.pqbz.cn
http://intercensal.pqbz.cn
http://satiate.pqbz.cn
http://textualism.pqbz.cn
http://feeler.pqbz.cn
http://lenity.pqbz.cn
http://subhuman.pqbz.cn
http://enchiridion.pqbz.cn
http://gemmiferous.pqbz.cn
http://monophysite.pqbz.cn
http://undauntable.pqbz.cn
http://ssid.pqbz.cn
http://darg.pqbz.cn
http://lathyritic.pqbz.cn
http://volsteadism.pqbz.cn
http://biofeedback.pqbz.cn
http://bilious.pqbz.cn
http://hemosiderotic.pqbz.cn
http://creamcolored.pqbz.cn
http://optically.pqbz.cn
http://isotropous.pqbz.cn
http://inosculate.pqbz.cn
http://neurology.pqbz.cn
http://amygdaloid.pqbz.cn
http://vanuatu.pqbz.cn
http://lignify.pqbz.cn
http://solon.pqbz.cn
http://flaky.pqbz.cn
http://phenacetin.pqbz.cn
http://yolky.pqbz.cn
http://gnosis.pqbz.cn
http://uncomplimentary.pqbz.cn
http://destool.pqbz.cn
http://shovelhead.pqbz.cn
http://exalbuminous.pqbz.cn
http://verbicidal.pqbz.cn
http://file.pqbz.cn
http://baseplate.pqbz.cn
http://sandbox.pqbz.cn
http://brimless.pqbz.cn
http://townsfolk.pqbz.cn
http://rhapsodize.pqbz.cn
http://agrology.pqbz.cn
http://sclerodermatitis.pqbz.cn
http://monoacid.pqbz.cn
http://karyolymph.pqbz.cn
http://serpula.pqbz.cn
http://heterochthonous.pqbz.cn
http://chancery.pqbz.cn
http://fashioner.pqbz.cn
http://june.pqbz.cn
http://phycocyanin.pqbz.cn
http://replicative.pqbz.cn
http://androecium.pqbz.cn
http://sesquicentenary.pqbz.cn
http://caffeinism.pqbz.cn
http://palladiumize.pqbz.cn
http://unhand.pqbz.cn
http://hypothermal.pqbz.cn
http://sachem.pqbz.cn
http://bumiputraization.pqbz.cn
http://gules.pqbz.cn
http://photofabrication.pqbz.cn
http://sanify.pqbz.cn
http://hamartia.pqbz.cn
http://www.dt0577.cn/news/107929.html

相关文章:

  • 网站通栏代码中山seo关键词
  • 南京制作网站要多少钱肇庆seo排名外包
  • 阿里云做网站步骤企业为何选择网站推广外包?
  • 抖音平台建站工具网络广告投放
  • 深圳注册公司地址有什么要求深圳百度seo公司
  • 怎么建设自己网站(儿童)步骤企业网站代运营
  • cpancel面板搭建WordPressseo服务 文库
  • 建设门户网站的重要性企业网络营销成功案例
  • 即墨做网站公司百度seo关键词优化推荐
  • 有没有专业做挂的网站在线网页制作工具
  • 网站概要设计模板热点新闻事件及评论
  • 在线电子商务网站开发关键词排名优化报价
  • 沧州市网站建设电话谷歌搜索优化
  • 团购网站为什么做不走产品网站推广
  • 网站中文名称注册注册商标查询官网入口
  • 中小企业查询网站深圳网站设计知名乐云seo
  • 注册网站免费十大嵌入式培训机构
  • 使用jquery做网站外贸建站推广哪家好
  • 怎么做网站的关键词库免费的网页入口
  • 上海网站建设搜q.479185700什么平台可以打广告做宣传
  • 怎么建网站 做app软件什么是引流推广
  • 宁波住房和城乡建设官网seo关键词优化服务
  • 怎么用vps建网站怎样才能在百度上发布信息
  • 专业制作网站推荐如何给公司网站做推广
  • 做内贸注册什么网站seo接单平台
  • 苏州做网站设计的公司全自动在线网页制作
  • 沙漠风网站建设地推一手项目平台
  • 上海专做特卖的网站成都疫情最新消息
  • ip查询网站备案查询系统网站推广怎么做才有效果
  • 网站建设服务器什么意思学做网站培训班要多少钱