yujian
2020-06-09 554de444b87aab5f93cb1593a8095612cf9479a7
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
@@ -5,6 +5,8 @@
      <id column="id" property="id" jdbcType="BIGINT" />
      <result column="account" property="account" jdbcType="VARCHAR" />
      <result column="extractTime" property="extractTime" jdbcType="BIGINT" />
      <result column="receiveTime" property="receiveTime" jdbcType="TIMESTAMP" />
      <result column="ip" property="ip" jdbcType="VARCHAR" />
      <result column="money" property="money" jdbcType="DECIMAL" />
      <result column="name" property="name" jdbcType="VARCHAR" />
@@ -14,16 +16,41 @@
      <result column="adminId" property="adminId" jdbcType="BIGINT" />
      <association property="userInfo" column="uid"
         select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPKey">
         select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPrimaryKey">
      </association>
      <association property="system" column="sid"
         select="com.yeshi.fanli.dao.mybatis.SystemMapper.selectByPrimaryKey">
         select="com.yeshi.fanli.dao.mybatis.BusinessSystemMapper.selectByPrimaryKey">
      </association>
   </resultMap>
   <resultMap id="SimplMap" type="com.yeshi.fanli.entity.bus.user.Extract">
      <id column="id" property="id" jdbcType="BIGINT" />
      <result column="account" property="account" jdbcType="VARCHAR" />
      <result column="extractTime" property="extractTime" jdbcType="BIGINT" />
      <result column="receiveTime" property="receiveTime" jdbcType="TIMESTAMP" />
      <result column="ip" property="ip" jdbcType="VARCHAR" />
      <result column="money" property="money" jdbcType="DECIMAL" />
      <result column="name" property="name" jdbcType="VARCHAR" />
      <result column="reason" property="reason" jdbcType="VARCHAR" />
      <result column="state" property="state" jdbcType="INTEGER" />
      <result column="type" property="type" jdbcType="INTEGER" />
      <result column="adminId" property="adminId" jdbcType="BIGINT" />
       <association column="uid" property="userInfo" javaType="com.yeshi.fanli.entity.bus.user.UserInfo">
         <id column="uid" property="id" jdbcType="BIGINT" />
       </association>
       <association column="sid" property="system" javaType="com.yeshi.fanli.entity.system.BusinessSystem">
         <id column="sid" property="id" jdbcType="BIGINT" />
       </association>
   </resultMap>
   <sql id="Base_Column_List">
      id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId
      id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId,receiveTime
   </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap"
      parameterType="java.lang.Long">
@@ -42,6 +69,14 @@
   </select>
   <select id="computeCompensateByUid" resultType="java.math.BigDecimal"
      parameterType="java.lang.Long">
      select
      sum(ecc_money)
      from yeshi_ec_extract_check_compensate
      where ecc_uid=#{0}
   </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
@@ -52,7 +87,7 @@
   <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.Extract"
      useGeneratedKeys="true" keyProperty="id">
      insert into yeshi_ec_extract (id,
      account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId)
      account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId,receiveTime)
      values
      (#{id,jdbcType=BIGINT},
      #{account,jdbcType=VARCHAR},
@@ -64,8 +99,9 @@
      #{state,jdbcType=INTEGER},
      #{type,jdbcType=INTEGER},
      #{userInfo.id,jdbcType=BIGINT},
      #{system.id,jdbcType=BIGINT}
      #{adminId,jdbcType=BIGINT}
      #{system.id,jdbcType=BIGINT},
      #{adminId,jdbcType=BIGINT},
      #{receiveTime,jdbcType=TIMESTAMP}
      )
   </insert>
   <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.Extract"
@@ -111,6 +147,14 @@
            adminId,
         </if>
         <if test="receiveTime != null">
            receiveTime,
         </if>
      </trim>
      <trim prefix="values (" suffix=")" suffixOverrides=",">
         <if test="id != null">
@@ -149,6 +193,12 @@
         <if test="system != null">
            #{adminId,jdbcType=BIGINT},
         </if>
         <if test="receiveTime != null">
            #{receiveTime,jdbcType=TIMESTAMP},
         </if>
      </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.Extract">
@@ -194,6 +244,12 @@
         <if test="system != null">
            adminId = #{adminId,jdbcType=BIGINT},
         </if>
         <if test="receiveTime != null">
            receiveTime=#{receiveTime,jdbcType=TIMESTAMP},
         </if>
      </set>
      where id = #{id,jdbcType=BIGINT}
   </update>
@@ -222,7 +278,9 @@
      =#{adminId,jdbcType=BIGINT},
      sid
      =
      #{system.id,jdbcType=BIGINT}
      #{system.id,jdbcType=BIGINT},
      receiveTime
      =#{receiveTime,jdbcType=TIMESTAMP}
      where id =
      #{id,jdbcType=BIGINT}
   </update>
@@ -233,20 +291,32 @@
        ]]>
      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
      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.hb_uid as uid,SUM(h.hb_money) AS money FROM yeshi_ec_hongbao_v2 h
      WHERE h.hb_state=3 AND h.hb_uid = #{uid,jdbcType=BIGINT} GROUP BY h.hb_uid)s ON
      LEFT JOIN (SELECT h.hb_uid as uid,SUM(h.hb_money)
      AS money FROM yeshi_ec_hongbao_v2 h
      WHERE h.hb_state=3 AND h.hb_uid =
      #{uid,jdbcType=BIGINT} GROUP BY h.hb_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
      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`
@@ -256,28 +326,39 @@
   </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
      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
      LEFT JOIN `yeshi_ec_extract_audit_record` ar ON ar.`extractId` = et.`id`
      WHERE  ar.`id` IS NOT NULL
            AND FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') = CURDATE()
      LEFT JOIN
      `yeshi_ec_extract_audit_record` ar ON ar.`extractId` = et.`id`
      WHERE
      ar.`id` IS NOT NULL
      AND FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') =
      CURDATE()
   </select>
   <select id="getTodayTotalSuccessMoney" resultType="java.math.BigDecimal">
      SELECT IFNULL(ROUND(SUM(money),2) ,0) AS moneys
      FROM yeshi_ec_extract et
      LEFT JOIN `yeshi_ec_extract_audit_record` ar ON ar.`extractId` = et.`id`
      WHERE et.state=1 AND  ar.`id` IS NOT NULL
         AND FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') = CURDATE()
      SELECT
      IFNULL(CAST(SUM(et.money)AS DECIMAL(19,2)),0) AS moneys
      FROM
      yeshi_ec_extract et
      LEFT JOIN `yeshi_ec_extract_audit_record` ar ON
      ar.`extractId` = et.`id`
      WHERE et.state=1 AND ar.`id` IS NOT NULL
      AND
      FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') = CURDATE()
   </select>
   <select id="countTotalSuccess" resultType="java.util.HashMap">
      <!-- 提现成功 次数、总金额 -->
      SELECT CAST(SUM(et.money)AS DECIMAL(19,2)) 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>
@@ -285,7 +366,8 @@
      SELECT
      <include refid="Base_Column_List" />
      FROM yeshi_ec_extract
      WHERE adminId = ${adminId} and state=0 ORDER BY extractTime LIMIT 0,1
      WHERE adminId = ${adminId} and state=0 ORDER BY
      extractTime LIMIT 0,1
   </select>
   <select id="getNewTaskInfo" resultMap="BaseResultMap">
@@ -297,20 +379,26 @@
   <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
      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}
      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
      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
      SELECT COUNT(et.id)
      FROM yeshi_ec_extract et
      WHERE et.state=1 AND et.uid = ${uid}
   </select>
@@ -337,12 +425,45 @@
      SELECT count(id) FROM yeshi_ec_extract
      WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
   </select>
   <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 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>
   <select id="sumToadyApplyByUid" resultType="java.math.BigDecimal">
      SELECT IFNULL(SUM(t.`money`),0) FROM yeshi_ec_extract t
      WHERE t.`uid` = #{uid}
      AND  FROM_UNIXTIME(t.extractTime/1000,'%Y-%m-%d') = #{day}
   </select>
   <select id="sumMoneyByUidAndState" resultType="java.math.BigDecimal">
      SELECT IFNULL(SUM(t.`money`),0) FROM yeshi_ec_extract t
      WHERE t.`uid` = #{uid}
      <if test="stateList!=null">
      <foreach collection="stateList" item="state" open="and (" close=")" separator=" or ">
      `state`=#{state}
      </foreach>
      </if>
   </select>
   <select id="getExtractSucceedRecord" resultMap="SimplMap">
       SELECT * FROM yeshi_ec_extract t
       WHERE t.`uid` = #{uid} AND t.`state` = 1
       ORDER BY t.`id` DESC
       LIMIT #{start},#{count}
   </select>
   <select id="countExtractSucceedRecord" resultType="Long">
      SELECT COUNT(t.`id`) FROM yeshi_ec_extract t
      WHERE t.`uid` = #{uid} AND t.`state` = 1
   </select>
   
</mapper>