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); } }