admin
2019-03-19 a489609934155d3a9417ebfd315afbadd1d9b95f
删除ExtractRecordDao
5个文件已修改
193 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractRecordMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractRecordMapper.xml 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractRecordServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ExtractRecordService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractRecordMapper.java
@@ -7,6 +7,8 @@
public interface ExtractRecordMapper {
    int deleteByPrimaryKey(Long id);
    int deleteAll();
    int insert(ExtractRecord record);
fanli/src/main/java/com/yeshi/fanli/mapping/ExtractRecordMapper.xml
@@ -2,51 +2,81 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.ExtractRecordMapper">
  <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.user.ExtractRecord">
    <id column="id" property="id" jdbcType="BIGINT"/>
    <result column="count" property="count" jdbcType="INTEGER"/>
    <result column="money" property="money" jdbcType="DECIMAL"/>
    <result column="createTime" property="createTime" jdbcType="BIGINT"/>
   <!--  <result column="uid" property="userInfo"/> -->
    <!-- <association property="userInfo" column="uid" resultMap="com.yeshi.fanli.entity.dao.mybatis.UserInfoMapper.BaseResultMap"/> -->
  </resultMap>
  <sql id="Base_Column_List">id,uid,count,money,createTime</sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/> from yeshi_ec_extract_record where id = #{id,jdbcType=BIGINT}
  </select>
  <select id="selectByUid" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/> from yeshi_ec_extract_record where uid = #{0}
  </select>
  <select id="selectByUidAndToday" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/> from yeshi_ec_extract_record er where er.uid = #{0} <![CDATA[
    <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.user.ExtractRecord">
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="count" property="count" jdbcType="INTEGER" />
        <result column="money" property="money" jdbcType="DECIMAL" />
        <result column="createTime" property="createTime" jdbcType="BIGINT" />
        <!-- <result column="uid" property="userInfo"/> -->
        <!-- <association property="userInfo" column="uid" resultMap="com.yeshi.fanli.entity.dao.mybatis.UserInfoMapper.BaseResultMap"/> -->
    </resultMap>
    <sql id="Base_Column_List">id,uid,count,money,createTime</sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_extract_record where id = #{id,jdbcType=BIGINT}
    </select>
    <select id="selectByUid" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_extract_record where uid = #{0}
    </select>
    <select id="selectByUidAndToday" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_extract_record er where er.uid = #{0} <![CDATA[
         ANd FROM_UNIXTIME(er.createTime/1000) >= CURDATE()
     ]]>
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_extract_record where id = #{id,jdbcType=BIGINT}</delete>
  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_extract_record (id,uid,count,money,createTime,id) values (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{count,jdbcType=INTEGER},#{money,jdbcType=DECIMAL},#{createTime,jdbcType=BIGINT},#{id,jdbcType=BIGINT})</insert>
  <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_extract_record
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">id,</if>
      <if test="userInfo != null">uid,</if>
      <if test="count != null">count,</if>
      <if test="money != null">money,</if>
      <if test="createTime != null">createTime,</if>
    </trim> values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">#{id,jdbcType=BIGINT},</if>
      <if test="userInfo != null">#{userInfo.id,jdbcType=BIGINT},</if>
      <if test="count != null">#{count,jdbcType=INTEGER},</if>
      <if test="money != null">#{money,jdbcType=DECIMAL},</if>
      <if test="createTime != null">#{createTime,jdbcType=BIGINT}</if>
    </trim>
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord">update yeshi_ec_extract_record set uid = #{userInfo.id,jdbcType=BIGINT},count = #{count,jdbcType=INTEGER},money = #{money,jdbcType=DECIMAL} ,createTime =#{createTime,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}</update>
  <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord">update yeshi_ec_extract_record
    <set>
      <if test="userInfo != null">uid=#{userInfo.id,jdbcType=BIGINT},</if>
      <if test="count != null">count=#{count,jdbcType=INTEGER},</if>
      <if test="money != null">money=#{money,jdbcType=DECIMAL},</if>
      <if test="createTime !=null">createTime =#{createTime,jdbcType=BIGINT},</if>
    </set> where id = #{id,jdbcType=BIGINT}
  </update>
     ]]>
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_extract_record where id = #{id,jdbcType=BIGINT}
    </delete>
    <delete id="deleteAll">delete from
        yeshi_ec_extract_record
    </delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_extract_record (id,uid,count,money,createTime,id) values
        (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{count,jdbcType=INTEGER},#{money,jdbcType=DECIMAL},#{createTime,jdbcType=BIGINT},#{id,jdbcType=BIGINT})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_extract_record
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="userInfo != null">uid,</if>
            <if test="count != null">count,</if>
            <if test="money != null">money,</if>
            <if test="createTime != null">createTime,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="userInfo != null">#{userInfo.id,jdbcType=BIGINT},</if>
            <if test="count != null">#{count,jdbcType=INTEGER},</if>
            <if test="money != null">#{money,jdbcType=DECIMAL},</if>
            <if test="createTime != null">#{createTime,jdbcType=BIGINT}</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord">update
        yeshi_ec_extract_record set uid = #{userInfo.id,jdbcType=BIGINT},count
        = #{count,jdbcType=INTEGER},money = #{money,jdbcType=DECIMAL}
        ,createTime =#{createTime,jdbcType=BIGINT} where id =
        #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.ExtractRecord">
        update yeshi_ec_extract_record
        <set>
            <if test="userInfo != null">uid=#{userInfo.id,jdbcType=BIGINT},</if>
            <if test="count != null">count=#{count,jdbcType=INTEGER},</if>
            <if test="money != null">money=#{money,jdbcType=DECIMAL},</if>
            <if test="createTime !=null">createTime =#{createTime,jdbcType=BIGINT},</if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractRecordServiceImpl.java
@@ -1,84 +1,32 @@
package com.yeshi.fanli.service.impl.user;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.user.ExtractRecordDao;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.dao.mybatis.ExtractRecordMapper;
import com.yeshi.fanli.entity.bus.user.ExtractRecord;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.AdminLimitException;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.user.ExtractRecordService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@Service
public class ExtractRecordServiceImpl implements ExtractRecordService {
    @Resource
    private ExtractRecordDao extractRecordDao;
    private ExtractRecordMapper extractRecordMapper;
    @Resource
    private ConfigService configService;
    public void setExtractRecord(Extract extract) throws AdminLimitException {
        long uid = extract.getUserInfo().getId();
        BigDecimal money = extract.getMoney();
        List<ExtractRecord> extractRecordList = extractRecordDao.list("from ExtractRecord er where er.userInfo.id=? ",
                new Serializable[] { uid });
        if (extractRecordList.size() == 0) {
            ExtractRecord er = new ExtractRecord();
            er.setCount(1);
            er.setMoney(money);
            er.setUserInfo(new UserInfo(uid));
            extractRecordDao.save(er);
        } else {
            ExtractRecord er = extractRecordList.get(0);
            int count = er.getCount();
            String maxCount = configService.get("extract_count_day");
            int maxCountInt = Integer.parseInt(maxCount);
            if (count >= maxCountInt) {
                throw new AdminLimitException("超出每日最大提现次数!");
            }
            BigDecimal oldMoney = er.getMoney();
            BigDecimal sumMoney = MoneyBigDecimalUtil.add(money, oldMoney);
            String maxMoney = configService.get("extract_money_day");
            BigDecimal maxMoneyDou = new BigDecimal(maxMoney);
            if (maxMoneyDou.compareTo(sumMoney) == -1) {
                BigDecimal exceedMoney = MoneyBigDecimalUtil.sub(sumMoney, maxMoneyDou);
                throw new AdminLimitException("超出每日最大提现金额!超出金额为:" + exceedMoney + "元");
            }
            er.setCount(count + 1);
            er.setMoney(sumMoney);
            extractRecordDao.update(er);
        }
    }
    // 定时删除ExtractRecord记录
    public void deleteExtractRecord() {
        extractRecordDao.excute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createQuery("DELETE FROM ExtractRecord");
                query.executeUpdate();
                return null;
            }
        });
        extractRecordMapper.deleteAll();
    }
    @Override
    public ExtractRecord getExtractRecordByUid(Long uid) {
        List<ExtractRecord> extractRecordList = extractRecordDao
                .list("from ExtractRecord er where er.userInfo.id=" + uid);
        List<ExtractRecord> extractRecordList = extractRecordMapper.selectByUid(uid);
        if (extractRecordList == null || extractRecordList.size() == 0)
            return null;
        else
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
@@ -26,7 +26,6 @@
import com.yeshi.fanli.dao.mybatis.PayInfoMapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
import com.yeshi.fanli.dao.user.ExtractRecordDao;
import com.yeshi.fanli.dto.HongBao;
import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
import com.yeshi.fanli.entity.bus.user.Extract;
@@ -81,9 +80,6 @@
    @Resource
    private UserInfoMapper userInfoMapper;
    @Resource
    private ExtractRecordDao extractRecordDao;
    @Resource
    private PayInfoMapper payInfoMapper;
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ExtractRecordService.java
@@ -1,13 +1,8 @@
package com.yeshi.fanli.service.inter.user;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.ExtractRecord;
import com.yeshi.fanli.exception.AdminLimitException;
public interface ExtractRecordService {
    void setExtractRecord(Extract extract) throws AdminLimitException;
    void deleteExtractRecord();
    /**