ProductBaseMapper.xml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.yc.ship.module.resource.dal.mysql.productBase.ProductBaseMapper">
  4. <!--
  5. 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
  6. 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
  7. 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
  8. 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
  9. -->
  10. <select id="queryProductBasePage" resultType="com.yc.ship.module.resource.controller.admin.productBase.vo.ProductBaseRespVO">
  11. SELECT
  12. pb.id,
  13. pb.`name`,
  14. pb.short_name shortName,
  15. pb.project_id projectId,
  16. pb.resource_category_id resourceCategoryId,
  17. pb.first_resource_id firstResourceId,
  18. pb.fixed_resource_id fixedResourceId,
  19. pb.can_repeat_buy canRepeatBuy,
  20. pb.check_type checkType,
  21. pb.check_times checkTimes,
  22. pb.is_refund isRefund,
  23. pb.is_auto_check isAutoCheck,
  24. pb.is_buy_check isBuyCheck,
  25. pb.start_point startPoint,
  26. pb.end_point endPoint,
  27. pb.route_id routeId,
  28. pb.stock,
  29. pb.use_status useStatus,
  30. pb.create_time createTime,
  31. pc.cate_name resourceName,
  32. pp.`name` projectName
  33. FROM
  34. product_base pb
  35. INNER JOIN product_category pc ON pc.id = pb.resource_category_id
  36. INNER JOIN product_project pp ON pp.id = pb.project_id
  37. WHERE
  38. pb.deleted = 0
  39. <if test="reqVO.name != null and reqVO.name != ''">
  40. AND pb.name like CONCAT('%', #{reqVO.name}, '%')
  41. </if>
  42. <if test="reqVO.projectId != null and reqVO.projectId != ''">
  43. AND pb.project_id = #{reqVO.projectId}
  44. </if>
  45. <if test="reqVO.useStatus != null and reqVO.useStatus != ''">
  46. AND pb.use_status = #{reqVO.useStatus}
  47. </if>
  48. ORDER BY pb.create_time desc,pb.id
  49. </select>
  50. <select id="selectProductBasePage" resultType="com.yc.ship.module.resource.controller.admin.productBase.vo.ProductBaseRespVO">
  51. SELECT
  52. DISTINCT
  53. pb.id,
  54. pb.`name`,
  55. pb.short_name shortName,
  56. pb.project_id projectId,
  57. pb.resource_category_id resourceCategoryId,
  58. pb.first_resource_id firstResourceId,
  59. pb.fixed_resource_id fixedResourceId,
  60. pb.can_repeat_buy canRepeatBuy,
  61. pb.check_type checkType,
  62. pb.check_times checkTimes,
  63. pb.is_refund isRefund,
  64. pb.is_auto_check isAutoCheck,
  65. pb.is_buy_check isBuyCheck,
  66. pb.start_point startPoint,
  67. pb.end_point endPoint,
  68. pb.route_id routeId,
  69. pb.stock,
  70. <if test="reqVO.productId != null and reqVO.productId != ''">
  71. pg.day_sort daySort,
  72. </if>
  73. pb.use_status useStatus,
  74. pb.create_time createTime,
  75. pc.cate_name resourceName,
  76. pp.`name` projectName
  77. FROM
  78. product_base pb
  79. INNER JOIN product_project pp ON pp.id = pb.project_id
  80. INNER JOIN product_category pc ON pc.id = pb.resource_category_id
  81. <if test="reqVO.supplierName != null and reqVO.supplierName != ''">
  82. INNER JOIN product_resource pr ON pr.category_id = pb.resource_category_id
  83. INNER JOIN product_supplier ps ON ps.id = pr.supplier_id
  84. </if>
  85. <if test="reqVO.productId != null and reqVO.productId != ''">
  86. INNER JOIN product_group pg ON pg.product_base_id = pb.id AND pg.deleted = 0
  87. </if>
  88. <if test="reqVO.specId != null and reqVO.specId != ''">
  89. INNER JOIN product_base_price basePrice ON basePrice.product_base_id = pb.id
  90. </if>
  91. WHERE
  92. pb.deleted = 0
  93. <if test="reqVO.name != null and reqVO.name != ''">
  94. AND pb.name like CONCAT('%', #{reqVO.name}, '%')
  95. </if>
  96. <if test="reqVO.projectId != null and reqVO.projectId != ''">
  97. AND pb.project_id = #{reqVO.projectId}
  98. </if>
  99. <if test="reqVO.useStatus != null and reqVO.useStatus != ''">
  100. AND pb.use_status = #{reqVO.useStatus}
  101. </if>
  102. <if test="reqVO.productId != null and reqVO.productId != ''">
  103. AND pg.product_id = #{reqVO.productId}
  104. </if>
  105. <if test="reqVO.supplierName != null and reqVO.supplierName != ''">
  106. AND ps.`name` LIKE CONCAT('%', #{reqVO.supplierName}, '%')
  107. </if>
  108. <if test="reqVO.specId != null and reqVO.specId != ''">
  109. AND basePrice.specification_id = #{reqVO.specId} group by pb.id
  110. </if>
  111. ORDER BY pb.create_time desc
  112. </select>
  113. </mapper>