AddressMapper.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.caimei365.order.mapper.AddressMapper">
  4. <select id="getUserAddressList" resultType="com.caimei365.order.model.vo.AddressVo">
  5. SELECT
  6. a.addressID AS addressId,
  7. a.userID AS userId,
  8. a.shouHuoRen AS receiver,
  9. a.townID AS townId,
  10. a.address,
  11. a.mobile,
  12. a.defaultFlag,
  13. t.name AS town,
  14. c.name AS city,
  15. c.cityID AS cityId,
  16. p.name AS province,
  17. p.provinceID AS provinceId
  18. FROM address a
  19. LEFT JOIN town t ON t.townID = a.townID
  20. LEFT JOIN city c ON c.cityID = t.cityID
  21. LEFT JOIN province p ON p.provinceID = c.provinceID
  22. WHERE a.userID = #{userId}
  23. ORDER BY a.defaultFlag DESC, a.addressID ASC
  24. </select>
  25. <select id="getAllProvinceList" resultType="com.caimei365.order.model.vo.AddressSelectVo">
  26. SELECT provinceID AS id, name
  27. FROM province WHERE validFlag = '1'
  28. </select>
  29. <select id="getCityListByProvinceId" resultType="com.caimei365.order.model.vo.AddressSelectVo">
  30. SELECT provinceID AS parentId, cityID AS id, name
  31. FROM city WHERE provinceID = #{provinceId} AND validFlag = '1'
  32. </select>
  33. <select id="getTownListByCityId" resultType="com.caimei365.order.model.vo.AddressSelectVo">
  34. SELECT cityID AS parentId, townID AS id, name
  35. FROM town WHERE cityID = #{cityId} AND validFlag = '1'
  36. </select>
  37. <select id="getAddressByTownId" resultType="com.caimei365.order.model.vo.AddressVo">
  38. SELECT
  39. t.name AS town,
  40. c.name AS city,
  41. c.cityID AS cityId,
  42. t.townID AS townId,
  43. p.name AS province,
  44. p.provinceID AS provinceID
  45. FROM town t
  46. LEFT JOIN city c ON c.cityID = t.cityID
  47. LEFT JOIN province p ON p.provinceID = c.provinceID
  48. WHERE t.townId = #{townId}
  49. </select>
  50. <select id="getAddressById" resultType="com.caimei365.order.model.po.AddressPo">
  51. SELECT
  52. a.addressID AS addressId,
  53. a.userID AS userId,
  54. a.shouHuoRen AS receiver,
  55. a.townID AS townId,
  56. a.address,
  57. a.mobile,
  58. a.defaultFlag
  59. FROM address a
  60. WHERE a.addressID = #{addressId}
  61. </select>
  62. <select id="getDefaultAddressId" resultType="java.lang.Integer">
  63. SELECT addressID FROM address
  64. WHERE userID = #{userId} AND defaultFlag = '1'
  65. LIMIT 1
  66. </select>
  67. <update id="updateAddressDefault">
  68. UPDATE address SET defaultFlag = #{defaultFlag}
  69. WHERE addressID = #{addressId}
  70. </update>
  71. <update id="updateAddress" parameterType="com.caimei365.order.model.po.AddressPo">
  72. UPDATE address SET
  73. shouHuoRen =#{receiver},
  74. townID = #{townId},
  75. address = #{address},
  76. mobile = #{mobile},
  77. defaultFlag = #{defaultFlag}
  78. WHERE addressID = #{addressId}
  79. </update>
  80. <insert id="insertAddress" keyColumn="addressID" keyProperty="addressId" parameterType="com.caimei365.order.model.po.AddressPo" useGeneratedKeys="true">
  81. INSERT INTO address (userID, shouHuoRen, townID, address, mobile, defaultFlag)
  82. VALUES (#{userId},#{receiver},#{townId},#{address},#{mobile},#{defaultFlag})
  83. </insert>
  84. <delete id="deleteAddress">
  85. DELETE FROM address WHERE addressID = #{addressId} AND userID = #{userId}
  86. </delete>
  87. <select id="getOrderUserinfo" resultType="com.caimei365.order.model.vo.OrderUserinfoVo">
  88. SELECT
  89. id,
  90. orderId,
  91. clubId,
  92. userId,
  93. name,
  94. shouHuoRen AS receiver,
  95. mobile,
  96. phone,
  97. postalCode,
  98. townId,
  99. province,
  100. city,
  101. town,
  102. address
  103. FROM bp_order_userinfo
  104. WHERE orderId = #{orderId}
  105. </select>
  106. </mapper>