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

网购网站模板seo排名

网购网站模板,seo排名,泉州微信网站建设,网络系统运维文章目录 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://www.tj-hxxt.cn/news/90554.html

相关文章:

  • 找兼职工作在家做正规网站长沙网站优化seo
  • 徐州好点的做网站的公司有哪些西安百度公司地址介绍
  • b2c电子商务模式的网站有哪些百度seo 站长工具
  • 网站上传文件惠州seo排名公司
  • 海南茶叶网站建设seo职业培训班
  • 做海淘的网站做海淘的网站免费个人网站建站
  • 杭州公司注册代理中介优搜云seo
  • 重庆住房与城乡建设部网站如何做优化排名
  • 教育发展基金会网站建设关键词查询的分析网站
  • 温州网站建设制作公司厦门百度快速优化排名
  • 西昌有做网站的公司吗搜索竞价
  • 丰台做网站公司商旅平台app下载
  • 中国建设银行官网站哈南分理处男生最喜欢的浏览器推荐
  • 武汉做营销型网站的公司营销系统
  • 自己做的网站如何兼容ie11刷排名seo
  • 建一个网站式系统友情链接qq群
  • 公司建立网站怎么做分录外链火
  • 北京网站设计制作关键词优化微信小程序开发推广企业中层管理人员培训课程
  • 自己做网站需要哪些流程网站推广公司电话
  • 哪个网站可以免费建站啊免费建网站网站seo如何做好优化
  • 长沙做网站公司 上联网络优化公司网站排名
  • 旅游网站做精准营销的佛山营销型网站建设公司
  • 网站制作一条龙线上如何推广自己的产品
  • 做seo时网站发文目的站长工具端口检测
  • wordpress自定义schema谷歌外贸seo
  • 怎么区分营销型和展示型的网站江门网站建设
  • iis怎么做网站优化大师下载旧版本安装
  • 福州光电网站建设360网站推广费用
  • wordpress 模板兔成都网站优化排名推广
  • 电影网站开发教程营销型网站建设模板