ProductBaseMapper.xml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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.product.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.product.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.is_only isOnly,
  31. pb.price_only priceOnly,
  32. pb.create_time createTime,
  33. pc.cate_name resourceName,
  34. pp.`name` projectName
  35. FROM
  36. product_base pb
  37. INNER JOIN product_category pc ON pc.id = pb.resource_category_id
  38. INNER JOIN product_project pp ON pp.id = pb.project_id
  39. WHERE
  40. pb.deleted = 0
  41. <if test="reqVO.name != null and reqVO.name != ''">
  42. AND pb.name like CONCAT('%', #{reqVO.name}, '%')
  43. </if>
  44. <if test="reqVO.projectId != null and reqVO.projectId != ''">
  45. AND pb.project_id = #{reqVO.projectId}
  46. </if>
  47. <if test="reqVO.useStatus != null and reqVO.useStatus != ''">
  48. AND pb.use_status = #{reqVO.useStatus}
  49. </if>
  50. ORDER BY pb.create_time desc,pb.id
  51. </select>
  52. <select id="selectProductBasePage" resultType="com.yc.ship.module.product.controller.admin.productBase.vo.ProductBaseRespVO">
  53. SELECT
  54. DISTINCT
  55. pb.id,
  56. pb.`name`,
  57. pb.short_name shortName,
  58. pb.project_id projectId,
  59. pb.resource_category_id resourceCategoryId,
  60. pb.first_resource_id firstResourceId,
  61. pb.fixed_resource_id fixedResourceId,
  62. pb.can_repeat_buy canRepeatBuy,
  63. pb.check_type checkType,
  64. pb.check_times checkTimes,
  65. pb.is_refund isRefund,
  66. pb.is_auto_check isAutoCheck,
  67. pb.is_buy_check isBuyCheck,
  68. pb.start_point startPoint,
  69. pb.end_point endPoint,
  70. pb.route_id routeId,
  71. pb.stock,
  72. <if test="reqVO.productId != null and reqVO.productId != ''">
  73. pg.day_sort daySort,
  74. </if>
  75. pb.use_status useStatus,
  76. pb.create_time createTime,
  77. pb.is_only isOnly,
  78. pb.price_only priceOnly,
  79. pc.cate_name resourceName,
  80. pp.`name` projectName
  81. FROM
  82. product_base pb
  83. INNER JOIN product_project pp ON pp.id = pb.project_id
  84. INNER JOIN product_category pc ON pc.id = pb.resource_category_id
  85. <if test="reqVO.supplierName != null and reqVO.supplierName != ''">
  86. INNER JOIN product_resource pr ON pr.category_id = pb.resource_category_id
  87. INNER JOIN product_supplier ps ON ps.id = pr.supplier_id
  88. </if>
  89. <if test="reqVO.productId != null and reqVO.productId != ''">
  90. INNER JOIN product_group pg ON pg.product_base_id = pb.id AND pg.deleted = 0
  91. </if>
  92. <if test="reqVO.specId != null and reqVO.specId != ''">
  93. INNER JOIN product_base_price basePrice ON basePrice.product_base_id = pb.id
  94. </if>
  95. WHERE
  96. pb.deleted = 0
  97. <if test="reqVO.name != null and reqVO.name != ''">
  98. AND pb.name like CONCAT('%', #{reqVO.name}, '%')
  99. </if>
  100. <if test="reqVO.projectId != null and reqVO.projectId != ''">
  101. AND pb.project_id = #{reqVO.projectId}
  102. </if>
  103. <if test="reqVO.useStatus != null and reqVO.useStatus != ''">
  104. AND pb.use_status = #{reqVO.useStatus}
  105. </if>
  106. <if test="reqVO.productId != null and reqVO.productId != ''">
  107. AND pg.product_id = #{reqVO.productId}
  108. </if>
  109. <if test="reqVO.supplierName != null and reqVO.supplierName != ''">
  110. AND ps.`name` LIKE CONCAT('%', #{reqVO.supplierName}, '%')
  111. </if>
  112. <if test="reqVO.specId != null and reqVO.specId != ''">
  113. AND basePrice.specification_id = #{reqVO.specId} group by pb.id
  114. </if>
  115. ORDER BY pb.create_time desc
  116. </select>
  117. <select id="selectShipList" resultType="com.yc.ship.module.product.controller.admin.productBase.vo.ShipRespVO">
  118. SELECT id,code,name FROM buss_ship WHERE deleted = 0 and status =1
  119. </select>
  120. </mapper>