yujian
2018-12-29 2dff570ccfa532f8c012bc13829b302dd3e1b9d3
Merge branch 'master' into div1
4个文件已修改
168 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderGoodsMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/money/UserMoneyDetailMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java
@@ -4,6 +4,7 @@
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -24,8 +25,8 @@
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
@@ -47,6 +48,9 @@
    @Resource
    private UserMoneyDetailService userMoneyDetailService;
    @Resource
    private UserInfoService userInfoService;
    /**
     * 新版资金详情(1.4.9)
@@ -129,22 +133,125 @@
        out.print(JsonUtil.loadTrueResult(data));
    }
    /**
     * 用户资金统计
     *
     * @param acceptData
     * @param uid
     * @param out
     */
    @RequestMapping(value = "getUserMoneyStatistic")
    public void getUserMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) {
        if (uid == null || uid == 0) {
            out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        BigDecimal balance = userInfoService.getMyHB(uid);
        UserMoneyStatisticVO vo = new UserMoneyStatisticVO();
        vo.setBalanceMoney(new BigDecimal("0.02"));
        vo.setLastMonthExtractMoney(new BigDecimal("0.03"));
        vo.setLastMonthRecievedMoney(new BigDecimal("0.04"));
        vo.setLatestThreeMonthRecievedMoney(new BigDecimal("0.05"));
        vo.setMonthExtractMoney(new BigDecimal("0.06"));
        vo.setMonthRecievedMoney(new BigDecimal("0.07"));
        vo.setTotalInviteMoney(new BigDecimal("0.08"));
        vo.setTotalRecievedMoney(new BigDecimal("0.09"));
        vo.setTotalShareMoney(new BigDecimal("0.10"));
        vo.setBalanceMoney(balance);
        Date minDate = null;
        Date maxDate = null;
        List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
        // 上月提现
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.extract);
        typeList.add(UserMoneyDetailTypeEnum.extractReject);
        typeList.add(UserMoneyDetailTypeEnum.extractVerify);
        long timeStamp = System.currentTimeMillis();
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(timeStamp);
        maxDate = new Date(TimeUtil
                .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
        calendar.add(Calendar.MONTH, -1);
        minDate = new Date(TimeUtil
                .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
        vo.setLastMonthExtractMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 上月收入
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.fanli);
        typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.share);
        typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.invite);
        typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
        typeList.add(UserMoneyDetailTypeEnum.weiQuan);
        typeList.add(UserMoneyDetailTypeEnum.hongbao);
        typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
        vo.setLastMonthRecievedMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 最近三个月收入
        maxDate = new Date(timeStamp);
        minDate = new Date(timeStamp - 1000 * 60 * 60 * 24 * 90L);
        vo.setLatestThreeMonthRecievedMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 本月提现
        maxDate = new Date(timeStamp);
        calendar = Calendar.getInstance();
        minDate = new Date(TimeUtil
                .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
        calendar.add(Calendar.MONTH, -1);
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.extract);
        typeList.add(UserMoneyDetailTypeEnum.extractReject);
        typeList.add(UserMoneyDetailTypeEnum.extractVerify);
        vo.setMonthExtractMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 本月到账
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.fanli);
        typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.share);
        typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.invite);
        typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
        typeList.add(UserMoneyDetailTypeEnum.weiQuan);
        typeList.add(UserMoneyDetailTypeEnum.hongbao);
        typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
        vo.setMonthRecievedMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 总的邀请赚
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.invite);
        typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
        minDate = new Date(0L);
        maxDate = new Date(timeStamp);
        vo.setTotalInviteMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 总的到账
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.fanli);
        typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.share);
        typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.invite);
        typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
        typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
        typeList.add(UserMoneyDetailTypeEnum.weiQuan);
        typeList.add(UserMoneyDetailTypeEnum.hongbao);
        typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
        vo.setTotalRecievedMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        // 总的分享赚
        typeList.clear();
        typeList.add(UserMoneyDetailTypeEnum.share);
        typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
        vo.setTotalShareMoney(
                userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
        out.print(JsonUtil.loadTrueResult(gson.toJson(vo)));
    }
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderGoodsMapper.java
@@ -29,4 +29,13 @@
    List<CommonOrderGoods> listByGoodsIdAndGoodsType(@Param("goodsId") String goodsId,
            @Param("goodsType") int goodsType);
    /**
     * 没有标题的列表
     *
     * @param start
     * @param count
     * @return
     */
    List<CommonOrderGoods> listNoTitle(@Param("start") long start, @Param("count") int count);
}
fanli/src/main/java/com/yeshi/fanli/mapping/money/UserMoneyDetailMapper.xml
@@ -17,7 +17,7 @@
        <result column="umd_beizhu" property="beiZhu" jdbcType="VARCHAR" />
        <result column="umd_createtime" property="createTime" jdbcType="TIMESTAMP" />
        <result column="umd_updatetime" property="updateTime" jdbcType="TIMESTAMP" />
        <!-- 老版明细适用该字段  -->
        <!-- 老版明细适用该字段 -->
        <result column="state" property="state" jdbcType="INTEGER" />
        <association property="userInfo" column="umd_uid"
            javaType="com.yeshi.fanli.entity.bus.user.UserInfo">
@@ -195,6 +195,18 @@
    </select>
    <select id="getTotalMoneyByTypeAndUidWithDate" resultType="java.math.BigDecimal">
        select sum(umd_money) from yeshi_ec_user_money_detail where
        umd_uid=#{uid} and umd_createtime>=#{minDate} and
        umd_createtime<![CDATA[<]]>#{maxDate}
        <foreach collection="typeList" item="item" open=" and ("
            separator=" or " close=")">
            umd_type=#{item}
        </foreach>
    </select>
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -71,7 +71,7 @@
    </resultMap>
    <sql id="Base_Column_List">co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,cog_create_time,cog_update_time
    <sql id="Base_Column_List">co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,co_create_time,co_update_time
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
@@ -88,7 +88,7 @@
        yeshi_ec_common_order where co_id = #{id,jdbcType=BIGINT}</delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.order.CommonOrder"
        useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_common_order
        (co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,cog_create_time,cog_update_time)
        (co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,co_create_time,co_update_time)
        values
        (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{sourcePosition,jdbcType=VARCHAR},#{commonOrderGoods.id,jdbcType=BIGINT},#{count,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{estimate,jdbcType=DECIMAL},#{eIncome,jdbcType=DECIMAL},#{payment,jdbcType=DECIMAL},#{settlement,jdbcType=DECIMAL},#{thirdCreateTime,jdbcType=TIMESTAMP},#{settleTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})
    </insert>
@@ -110,8 +110,8 @@
            <if test="settlement != null">co_settlement,</if>
            <if test="thirdCreateTime != null">co_third_create_time,</if>
            <if test="settleTime != null">co_settle_time,</if>
            <if test="createTime != null">cog_create_time,</if>
            <if test="updateTime != null">cog_update_time,</if>
            <if test="createTime != null">co_create_time,</if>
            <if test="updateTime != null">co_update_time,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -147,8 +147,8 @@
        #{payment,jdbcType=DECIMAL},co_settlement =
        #{settlement,jdbcType=DECIMAL},co_third_create_time =
        #{thirdCreateTime,jdbcType=TIMESTAMP},co_settle_time =
        #{settleTime,jdbcType=TIMESTAMP},cog_create_time =
        #{createTime,jdbcType=TIMESTAMP},cog_update_time =
        #{settleTime,jdbcType=TIMESTAMP},co_create_time =
        #{createTime,jdbcType=TIMESTAMP},co_update_time =
        #{updateTime,jdbcType=TIMESTAMP} where co_id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder">
@@ -170,8 +170,8 @@
            <if test="thirdCreateTime != null">co_third_create_time=#{thirdCreateTime,jdbcType=TIMESTAMP},
            </if>
            <if test="settleTime != null">co_settle_time=#{settleTime,jdbcType=TIMESTAMP},</if>
            <if test="createTime != null">cog_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
            <if test="updateTime != null">cog_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
            <if test="createTime != null">co_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
            <if test="updateTime != null">co_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
        </set>
        where co_id = #{id,jdbcType=BIGINT}
    </update>
@@ -308,7 +308,7 @@
        totalSettlement,COALESCE(SUM(tc.`co_count`),0)AS
        totalCount,tc.`co_source_type`,tc.`co_order_no`,tg.*
        FROM yeshi_ec_common_order_goods tg
        LEFT JOIN yeshi_ec_common_order tc ON tc.`co_order_goods_id` = tg.`cog_id`
        LEFT JOIN yeshi_ec_common_order tc ON tc.`co_order_goods_id` = tg.`co_id`
        WHERE
        <foreach collection="list" item="item" separator=" OR ">
            (tc.`co_source_type` = #{item.sourceType,jdbcType=INTEGER} AND