admin
2018-12-25 4cb15e222cd7d099d533ccbeb7f9a8cd99bf180c
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
@@ -12,7 +12,7 @@
      <result column="state" property="state" jdbcType="INTEGER" />
      <result column="type" property="type" jdbcType="INTEGER" />
      <result column="adminId" property="adminId" jdbcType="BIGINT" />
      <association property="userInfo" column="uid"
         select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPKey">
      </association>
@@ -20,7 +20,7 @@
      <association property="system" column="sid"
         select="com.yeshi.fanli.dao.mybatis.SystemMapper.selectByPrimaryKey">
      </association>
   </resultMap>
   <sql id="Base_Column_List">
      id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId
@@ -32,7 +32,7 @@
      from yeshi_ec_extract
      where id = #{id,jdbcType=BIGINT}
   </select>
   <select id="selectByPrimaryKeyForUpdate" resultMap="BaseResultMap"
      parameterType="java.lang.Long">
      select
@@ -40,9 +40,9 @@
      from yeshi_ec_extract
      where id = #{id,jdbcType=BIGINT} for update
   </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
      delete from
@@ -110,7 +110,7 @@
         <if test="system != null">
            adminId,
         </if>
      </trim>
      <trim prefix="values (" suffix=")" suffixOverrides=",">
         <if test="id != null">
@@ -226,92 +226,123 @@
      where id =
      #{id,jdbcType=BIGINT}
   </update>
   <select id="checkExtract" resultType="java.lang.Integer">
   <![CDATA[
       select ABS(ttt.totalmoney-ttt.hbmoney)<0.001
    ]]>
        from
      (select u.my_hongBao,s.uid AS uid,s.money AS hbmoney,IF(ss.money IS NOT NULL,ss.money,0) + u.my_hongBao+IF( dd.`money` IS NOT NULL,dd.money,0)  AS totalmoney  FROM yeshi_ec_user u
      left join  (select h.uid,SUM(h.money) AS money FROM yeshi_ec_hongbao h  WHERE  h.state=3  AND h.uid = #{uid,jdbcType=BIGINT}  GROUP BY h.uid)s  ON u.id=s.uid
      left join  (SELECT  SUM(t.`money`)AS money,t.uid FROM yeshi_ec_extract t WHERE (t.state=0 OR t.state=1) AND t.`uid`= #{uid,jdbcType=BIGINT}  GROUP BY t.uid)ss ON ss.uid=u.id
       LEFT JOIN  (SELECT  ABS (SUM(d.money)) AS money,d.`uid` FROM yeshi_ec_account_details d WHERE d.type=10 OR d.type=9 GROUP BY d.`uid`)  dd ON dd.uid=u.`id`
       where s.uid IS NOT NULL AND s.money!= u.my_hongbao)ttt
       left join yeshi_ec_user u ON ttt.uid=u.`id` WHERE ttt.hbmoney!=ttt.totalmoney
       <![CDATA[
        SELECT ABS(ttt.totalmoney-ttt.hbmoney)<0.001
        ]]>
      FROM
      (
      SELECT u.my_hongBao,s.uid AS uid,s.money AS hbmoney,IF(ss.money IS NOT
      NULL,ss.money,0) + u.my_hongBao+IF( dd.`money` IS NOT NULL,dd.money,0)
      +IF( cc.`money` IS NOT NULL,cc.money,0) AS totalmoney FROM
      yeshi_ec_user u
      LEFT JOIN (SELECT h.uid,SUM(h.money) AS money FROM yeshi_ec_hongbao h
      WHERE h.state=3 AND h.uid = #{uid,jdbcType=BIGINT} GROUP BY h.uid)s ON
      u.id=s.uid
      LEFT JOIN (SELECT SUM(t.`money`)AS money,t.uid FROM yeshi_ec_extract t
      WHERE (t.state=0 OR t.state=1) AND t.`uid`=#{uid,jdbcType=BIGINT}
      GROUP BY t.uid)ss ON ss.uid=u.id
      LEFT JOIN (SELECT ABS (SUM(d.money)) AS money,d.`uid` FROM
      yeshi_ec_account_details d WHERE (d.type=10 OR d.type=9 ) AND d.uid=
      #{uid,jdbcType=BIGINT} GROUP BY d.`uid`) dd ON dd.uid=u.`id`
      LEFT JOIN (SELECT SUM(c.ecc_money) AS money,c.`ecc_uid` AS uid FROM
      `yeshi_ec_extract_check_compensate` c WHERE
      c.ecc_uid=#{uid,jdbcType=BIGINT} GROUP BY c.ecc_uid) cc ON
      cc.uid=u.`id`
      WHERE s.uid IS NOT NULL AND s.money!= u.my_hongbao) ttt
      LEFT JOIN yeshi_ec_user u ON ttt.uid=u.`id` WHERE
      ttt.hbmoney!=ttt.totalmoney
   </select>
   <select id="getTodayCount" resultType="java.util.HashMap">
       SELECT IFNULL(COUNT(et.id), 0)AS total,IFNULL(SUM(CASE WHEN et.state = 1 THEN 1 ELSE 0 END),0) AS succeed,IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fails
       FROM yeshi_ec_extract et  WHERE  (et.state=1 OR et.state= 2) AND
      SELECT IFNULL(COUNT(et.id), 0)AS total,IFNULL(SUM(CASE WHEN et.state =
      1 THEN 1 ELSE 0 END),0) AS succeed,IFNULL(SUM(CASE WHEN et.state = 2
      THEN 1 ELSE 0 END),0) AS fails
      FROM yeshi_ec_extract et WHERE (et.state=1 OR et.state= 2) AND
       <![CDATA[
          FROM_UNIXTIME(et.extractTime/1000) >=CURDATE();
       ]]>
       ]]>
   </select>
   <select id="getTodayTotalSuccessMoney" resultType="java.math.BigDecimal">
       SELECT  IFNULL(ROUND(SUM(money),2) ,0) AS moneys
        FROM yeshi_ec_extract et  WHERE  et.state=1  AND
      SELECT IFNULL(ROUND(SUM(money),2) ,0) AS moneys
      FROM yeshi_ec_extract et WHERE et.state=1 AND
        <![CDATA[
          FROM_UNIXTIME(et.extractTime/1000) >=CURDATE();
       ]]>
       ]]>
   </select>
   <select id="countTotalSuccess" resultType="java.util.HashMap">
      <!-- 提现成功 次数、总金额 -->
      SELECT IFNULL(ROUND(SUM(money),2),0) AS totalmoney,
         IFNULL(COUNT(et.id),0) AS totalamount FROM yeshi_ec_extract et  WHERE  et.state=1
      IFNULL(COUNT(et.id),0) AS totalamount FROM yeshi_ec_extract et WHERE
      et.state=1
   </select>
   <select id="getMyTaskInfo" resultMap="BaseResultMap">
       SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_extract
       WHERE adminId = ${adminId} and state=0    ORDER BY extractTime  LIMIT 0,1
   </select>
   <select id="getMyTaskInfo" resultMap="BaseResultMap">
      SELECT
      <include refid="Base_Column_List" />
      FROM yeshi_ec_extract
      WHERE adminId = ${adminId} and state=0 ORDER BY extractTime LIMIT 0,1
   </select>
   <select id="getNewTaskInfo" resultMap="BaseResultMap">
       SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_extract
       WHERE  state=0   ORDER BY extractTime  LIMIT 0,1
   </select>
      SELECT
      <include refid="Base_Column_List" />
      FROM yeshi_ec_extract
      WHERE state=0 ORDER BY extractTime LIMIT 0,1
   </select>
   <select id="countRecordsByUid" resultType="java.util.HashMap">
      SELECT IFNULL(COUNT(et.id), 0) AS totalamount,IFNULL(SUM(CASE WHEN et.state = 1 THEN 1 ELSE 0 END),0) AS succeed,
            IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fail
      FROM yeshi_ec_extract et  WHERE  (et.state=1 OR et.state= 2)  AND et.uid = ${uid}
      SELECT IFNULL(COUNT(et.id), 0) AS totalamount,IFNULL(SUM(CASE WHEN et.state
      = 1 THEN 1 ELSE 0 END),0) AS succeed,
      IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fail
      FROM yeshi_ec_extract
      et WHERE (et.state=1 OR et.state= 2) AND et.uid = ${uid}
   </select>
    <select id="countSuccessMoneysByUid" resultType="java.lang.Double">
     SELECT  IFNULL(ROUND(SUM(et.money),2),0) AS moneys  FROM yeshi_ec_extract et
       WHERE  et.state=1 AND et.uid = ${uid}
   <select id="countSuccessMoneysByUid" resultType="java.lang.Double">
      SELECT IFNULL(ROUND(SUM(et.money),2),0) AS moneys FROM yeshi_ec_extract et
      WHERE et.state=1 AND et.uid = ${uid}
   </select>
   <select id="countSuccessByUid" resultType="java.lang.Long">
     SELECT   COUNT(et.id)  FROM yeshi_ec_extract et
       WHERE  et.state=1 AND et.uid = ${uid}
      SELECT COUNT(et.id) FROM yeshi_ec_extract et
      WHERE et.state=1 AND et.uid = ${uid}
   </select>
   <select id="getFinishRecord" resultType="java.util.Map">
       SELECT ex.*,ar.*  FROM yeshi_ec_extract ex LEFT JOIN yeshi_ec_extract_audit_record ar ON ar.extractId=ex.id
          WHERE
      SELECT ex.*,ar.* FROM yeshi_ec_extract ex LEFT JOIN
      yeshi_ec_extract_audit_record ar ON ar.extractId=ex.id
      WHERE
     <![CDATA[
          FROM_UNIXTIME(ex.extractTime/1000)  >= #{startTime}
            AND  FROM_UNIXTIME(ex.extractTime/1000) <= #{endTime} 
      ]]>
      <if test='key != null and key != ""'>
            AND (ex.uid = #{key} OR ar.aid = #{key})
         </if>
      ORDER BY ex.extractTime DESC  LIMIT ${start},${count}
   </select>
    <select id="countTodayApply" resultType="java.lang.Integer">
      SELECT count(id)  FROM yeshi_ec_extract
          WHERE  <![CDATA[ FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
      <if test='key != null and key != ""'>
         AND (ex.uid = #{key} OR ar.aid = #{key})
      </if>
      ORDER BY ex.extractTime DESC LIMIT ${start},${count}
   </select>
   <select id="countTodayApply" resultType="java.lang.Integer">
      SELECT count(id) FROM yeshi_ec_extract
      WHERE  <![CDATA[ FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
   </select>
   <select id="countTodayComplete" resultType="java.lang.Integer">
      SELECT count(id) FROM yeshi_ec_extract
      WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
   </select>
   
   <select id="countTodayComplete" resultType="java.lang.Integer">
      SELECT count(id)  FROM yeshi_ec_extract
          WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
   <select id="countTodayMoney" resultType="java.lang.Double">
      SELECT IFNULL(SUM(t.`money`),0) FROM  yeshi_ec_extract t
      WHERE t.`uid` = #{uid} AND t.state = 1
         AND <![CDATA[TO_DAYS( FROM_UNIXTIME(t.extractTime/1000)) = TO_DAYS(NOW())]]>
   </select>
   
</mapper>