admin
2020-05-13 ee784c98df64ee881d02058a44c0a91df9e9be41
订单资金统计数据同步
4个文件已修改
85 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/UserOrderDailyStatisticDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/UserOrderDailyStatisticMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/UserOrderDailyStatisticDTO.java
@@ -3,11 +3,40 @@
import java.math.BigDecimal;
public class UserOrderDailyStatisticDTO {
    private Long uid;
    private String type;
    private String day;
    private int orderCount;
    private BigDecimal money;
    public Long getUid() {
        return uid;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getDay() {
        return day;
    }
    public void setDay(String day) {
        this.day = day;
    }
    public int getOrderCount() {
        return orderCount;
    }
    public void setOrderCount(int orderCount) {
        this.orderCount = orderCount;
    }
    public BigDecimal getMoney() {
        return money;
    }
    public void setMoney(BigDecimal money) {
        this.money = money;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java
@@ -42,6 +42,8 @@
            return icon;
        }
    }
    
    
fanli/src/main/java/com/yeshi/fanli/mapping/order/UserOrderDailyStatisticMapper.xml
@@ -16,7 +16,7 @@
    </resultMap>
    <select id="listByPlaceOrderTime" resultMap="BaseResultMap">
    <select id="listFanLiAndShareByPlaceOrderTime" resultMap="BaseResultMap">
        SELECT
        co.`co_uid` as
        uid,co.`co_child_source_type` AS `type`, SUM(v.`hb_money`)
@@ -37,4 +37,21 @@
        co_uid,DATE(co.`co_third_create_time`),co.`co_child_source_type`
    </select>
    <select id="listTeamByPlaceOrderTime" resultMap="BaseResultMap">
        SELECT v.`hb_uid` as uid,co.`co_child_source_type` AS `type`, SUM(v.`hb_money`) AS
        money,DATE(co.`co_third_create_time`) AS `day`,COUNT(DISTINCT(CONCAT(
        co.co_order_no,'#',co.co_source_type))) AS orderCount FROM
        yeshi_ec_hongbao_v2 v LEFT JOIN yeshi_ec_hongbao_order ho ON
        ho.`ho_hongbao_id`=v.`hb_pid` LEFT JOIN yeshi_ec_common_order co ON
        co.`co_id`=ho.`ho_order_id` WHERE (v.`hb_type`=6 OR v.`hb_type`=7 OR
        v.`hb_type`=21 OR v.`hb_type`=22) AND co.`co_id`>0 AND
        co.`co_third_create_time`>=#{minTime} AND
        #{maxTime}>co.`co_third_create_time` AND v.`hb_state`!=4 GROUP BY
        v.`hb_uid`,DATE(co.`co_third_create_time`),co.`co_child_source_type`
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java
@@ -22,7 +22,6 @@
    @Resource
    private OrderMoneyDailyCountDao orderMoneyDailyCountDao;
    @Override
    @RequestSerializableByKeyService(key = "#record.uid")
    public void saveDailyCount(OrderMoneyDailyCount record) {
@@ -30,18 +29,18 @@
            return; // 参数不全
        }
        String gernalTime = TimeUtil.getGernalTime(record.getCountDay().getTime());
        String id = StringUtil.Md5(record.getUid() + record.getSourceType().name() + gernalTime);
        String id = StringUtil.Md5(record.getUid() + "#" + record.getSourceType().name() + "#" + gernalTime);
        // id
        record.setId(id);
        // 统计日期-年月日
        record.setCountDay(new Date(TimeUtil.convertDateToTemp(gernalTime)));
        SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy-MM");
        record.setYearMonth(formatMonth.format(record.getCountDay()) );
        OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.getById(id);
        if (dailyCount == null) {
        record.setYearMonth(formatMonth.format(record.getCountDay()));
        OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.getById(id);
        if (dailyCount != null) {
            // 选择性更新
            orderMoneyDailyCountDao.updateSelective(record);
        } else {
@@ -57,29 +56,29 @@
            orderMoneyDailyCountDao.save(record);
        }
    }
    @Override
    public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay) {
        return orderMoneyDailyCountDao.query(uid, minDay, maxDay);
    }
    @Override
    public List<OrderMoneyDailyCount>  sumGroupBySourceType(Long uid, Date minDay, Date maxDay) {
    public List<OrderMoneyDailyCount> sumGroupBySourceType(Long uid, Date minDay, Date maxDay) {
        return orderMoneyDailyCountDao.sumGroupBySourceType(uid, minDay, maxDay);
    }
    @Override
    public List<OrderMoneyDailyCount>  sumTeamGroupBySourceType(Long uid, Date minDay, Date maxDay) {
    public List<OrderMoneyDailyCount> sumTeamGroupBySourceType(Long uid, Date minDay, Date maxDay) {
        return orderMoneyDailyCountDao.sumTeamGroupBySourceType(uid, minDay, maxDay);
    }
    @Override
    public List<OrderMoneyDailyCount>  sumGroupByCountDay(Long uid, Date minDay, Date maxDay) {
    public List<OrderMoneyDailyCount> sumGroupByCountDay(Long uid, Date minDay, Date maxDay) {
        return orderMoneyDailyCountDao.sumGroupByCountDay(uid, minDay, maxDay);
    }
    @Override
    public List<OrderMoneyDailyCount>  sumGroupByYearMonth(Long uid, Date minDay, Date maxDay) {
    public List<OrderMoneyDailyCount> sumGroupByYearMonth(Long uid, Date minDay, Date maxDay) {
        return orderMoneyDailyCountDao.sumGroupByYearMonth(uid, minDay, maxDay);
    }
}