DyoaRecordMapper.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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.dayou.mapper.DyoaRecordMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.DyoaRecord">
  6. <result column="id" property="id" />
  7. <result column="modified" property="modified" />
  8. <result column="created" property="created" />
  9. <result column="deleted" property="deleted" />
  10. <result column="mbs_type" property="mbsType" />
  11. <result column="mbs_id" property="mbsId" />
  12. <result column="dyoa_id" property="dyoaId" />
  13. <result column="user_id" property="userId" />
  14. </resultMap>
  15. <!-- 通用查询结果列 -->
  16. <sql id="Base_Column_List">
  17. id,
  18. modified,
  19. created,
  20. deleted,
  21. mbs_type, mbs_id, dyoa_id, user_id
  22. </sql>
  23. <select id="getMaxOrderTime" resultType="java.util.Date">
  24. select max(order_datetime) from dyoa_record where mbs_type = 'PERSONAL_ORDER'
  25. </select>
  26. <select id="getMaxPersonalTargetTime" resultType="java.util.Date">
  27. select max(order_datetime) from dyoa_record where mbs_type = 'PERSONAL_TARGET'
  28. </select>
  29. <select id="getMaxRealAmountCreatedTime" resultType="java.util.Date">
  30. select max(order_datetime) from dyoa_record where mbs_type = 'REAL_AMOUNT'
  31. </select>
  32. <select id="getMaxClaimDate" resultType="java.util.Date">
  33. select max(order_datetime) from dyoa_record where mbs_type = 'REAL_AMOUNT_CLAIM'
  34. </select>
  35. <select id="selectOrderFundIdByDyoaOrderId" resultType="com.dayou.entity.DyoaRecord">
  36. SELECT
  37. m.dyoa_id,
  38. f.id as mbsId
  39. FROM
  40. (
  41. SELECT
  42. mbs_id,
  43. dyoa_id,
  44. ( CASE mbs_type WHEN 'MAJOR_ORDER' THEN 'MAJOR_BUSINESS' WHEN 'PERSONAL_ORDER' THEN 'PERSONAL_BUSINESS'
  45. WHEN 'ASSETS_ORDER' THEN 'ASSET_BUSINESS'
  46. END ) AS mbs_type
  47. FROM
  48. dyoa_record
  49. WHERE
  50. mbs_type IN ( 'MAJOR_ORDER','PERSONAL_ORDER','ASSETS_ORDER' )) m
  51. LEFT JOIN order_fund f ON (
  52. f.business_id = m.mbs_id
  53. AND f.business_type = m.mbs_type) where f.id is not null GROUP BY m.dyoa_id
  54. </select>
  55. <select id="getMaxFinanceInvoiceCreatedTime" resultType="java.util.Date">
  56. select max(order_datetime) from dyoa_record where mbs_type = 'FINANCE_INVOICE'
  57. </select>
  58. </mapper>