Commit 43d66549 authored by zuoyh's avatar zuoyh

Merge remote-tracking branch 'origin/order_received_statistics' into order_received_statistics

parents bbd8166c 3ff10915
package com.github.wxiaoqi.security.common.enumconstant;
import java.util.EnumSet;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author libin
* @version 1.0
......@@ -16,8 +21,18 @@ public enum LevelEnum {
this.desc = desc;
}
public static LevelEnum getLevelEnumByLevel(Integer level){
return levelMap.get(level);
}
private Integer level;
private String desc;
private static Map<Integer, LevelEnum> levelMap;
static {
levelMap = EnumSet.allOf(LevelEnum.class).stream().collect(Collectors.toMap(LevelEnum::getLevel, Function.identity()));
}
public Integer getLevel() {
return level;
......
......@@ -65,7 +65,7 @@ public enum OrderReceivedStatisticsSignEnum {
return resultMap;
}
},
ORDER_TOTAL_REAL_AMOUNT("ad_otra","实际收入"){
/* ORDER_TOTAL_REAL_AMOUNT("ad_otra","实际收入"){
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
......@@ -80,8 +80,8 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap;
}
},
ORDER_REAL_AVG_AMOUNT("ae_oravga","实际arpu"){
},*/
/* ORDER_REAL_AVG_AMOUNT("ae_oravga","实际arpu"){
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
......@@ -103,7 +103,7 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap;
}
};
}*/;
private String sign;
private String desc;
private static Map<String,OrderReceivedStatisticsSignEnum> orderReceivedStatisticsSignEnumMap;
......
......@@ -5,7 +5,6 @@ import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
......@@ -72,7 +71,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return resultMap;
}
},
RENT_VEHICLE_REAL_TOTAL_AMOUNT("bd_rvrta","实际租车金额") {
/* RENT_VEHICLE_REAL_TOTAL_AMOUNT("bd_rvrta","实际租车金额") {
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
......@@ -87,8 +86,8 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap;
}
},
RENT_VEHICLE_REAL_AVG_AMOUNT("be_rvravga","实际租车arpu") {
},*/
/* RENT_VEHICLE_REAL_AVG_AMOUNT("be_rvravga","实际租车arpu") {
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
......@@ -110,7 +109,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap;
}
};
}*/;
private String sign;
private String desc;
private static Map<String,OrderRentVehicleReceivedStatisticsSignEnum> orderRentVehicleReceivedStatisticsSignEnumMap;
......
......@@ -21,14 +21,20 @@ public enum StatisticsStatusEnum {
public static final int FINISH = 6;
public static final int CANCEL = 2;
public static final int UNFINISH = 3;
public static final int DEFAULT_COMPANY=1;
public static final int ORDER_MEMBER_TYPE=3;
public static final int ORDER_RENT_VEHICLE_TYPE=1;
public static final int ORDER_TOUR_TYPE=2;
public static final String UN_PAY_STATE="0";
public static final int NO_PAY_WAY=99;
public static List<String> orderStates;
public static List<String> orderOrigins;
public static List<String> orderPayWays;
static {
// 2 取消 3未完成 6 已完成
orderStates = Lists.newArrayList("2","3","6");
// 0 未支付 1 已支付
orderStates = Lists.newArrayList("0","1");
// 1 app 2 小程序 3 其他
orderOrigins = Lists.newArrayList("1","2","3");
// 1 微信 2 支付宝
......@@ -53,7 +59,7 @@ public enum StatisticsStatusEnum {
for (String orderPayWay : orderPayWays) {
for (String orderState : orderStates) {
//订单来源-支付方式-订单状态
orderStatisticsStateGroups.add(String.format("%s-%s-%s",orderOrigin,orderPayWay,orderState));
orderStatisticsStateGroups.add(String.format("%s-%s-%s",orderOrigin,orderState==UN_PAY_STATE?String.valueOf(NO_PAY_WAY):orderPayWay,orderState));
}
}
}
......@@ -61,7 +67,7 @@ public enum StatisticsStatusEnum {
}
public static List<String> getOtherStatisticsStateGroup(List<Integer> companyIdList,List<String> statisticsStates){
List<String> stateGroupList = CollectionUtils.isEmpty(companyIdList)?statisticsStateGroup():statisticsSateGroupWithCompanys(companyIdList);
stateGroupList.retainAll(statisticsStates);
stateGroupList.removeAll(statisticsStates);
return stateGroupList;
}
......@@ -73,7 +79,7 @@ public enum StatisticsStatusEnum {
String[] status = stateGroup.split("-");
targetObj.setCrtTime(new Date());
targetObj.setCompanyId(Integer.valueOf(status[0]));
targetObj.setIsFinish(Integer.valueOf(status[3]));
targetObj.setHasPay(Integer.valueOf(status[3]));
targetObj.setOrderOrigin(Integer.valueOf(status[1]));
targetObj.setPayWay(Integer.valueOf(status[2]));
targetObj.setDate(date);
......
......@@ -27,12 +27,5 @@ public class OrderReceivedStatistics extends OrderReceivedStatisticsBase impleme
@ApiModelProperty(value = "订单总量")
private Integer totalQuantity;
/**
* 实际收入
*/
@Column(name = "real_amount")
@ApiModelProperty(value = "实际收入")
private BigDecimal realAmount;
}
......@@ -62,11 +62,15 @@ public class OrderReceivedStatisticsBase {
protected BigDecimal totalAmount;
/**
* 是否完成 1 完成 0 未完成
* 订单总量
*/
@Column(name = "is_finish")
@ApiModelProperty(value = "是否完成 1 完成 0 未完成")
protected Integer isFinish;
@Column(name = "total_quantity")
@ApiModelProperty(value = "订单总量")
private Integer totalQuantity;
@Column(name = "has_pay")
@ApiModelProperty(value = "是否支付 1已经支付 0未支付")
protected Integer hasPay;
/**
* '支付来源 1--app;2--小程序',
......
......@@ -28,11 +28,4 @@ public class OrderRentVehicleReceivedStatistics extends OrderReceivedStatisticsB
@ApiModelProperty(value = "订单总量")
private Integer totalQuantity;
/**
* 实际收入
*/
@Column(name = "real_amount")
@ApiModelProperty(value = "实际收入")
private BigDecimal realAmount;
}
......@@ -21,12 +21,7 @@ import java.util.Date;
public class OrderTourReceivedStatistics extends OrderReceivedStatisticsBase implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单总量
*/
@Column(name = "total_quantity")
@ApiModelProperty(value = "订单总量")
private Integer totalQuantity;
}
package com.xxfc.platform.order.pojo.dto;
import com.github.wxiaoqi.security.common.enumconstant.LevelEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......@@ -29,9 +30,17 @@ public class OrderDTO {
private Date crtTime;
private Integer companyId;
private String stateGroup;
private Integer hasPay;
/**
* 会员相关
*/
private Integer memberLevel;
private LevelEnum levelEnum;
public LevelEnum getLevelEnum(){
return LevelEnum.getLevelEnumByLevel(this.memberLevel);
}
}
......@@ -355,9 +355,9 @@
<select id="selectOrdersByTypeAndTime" resultType="com.xxfc.platform.order.pojo.dto.OrderDTO">
select bo.*,omd.memberLevel,IFNULL(orvd.start_company_id,otd.start_company_id) AS `companyId` from (select `id`,`type`,`status`,`order_amount` AS `orderAmount`, `real_amount`AS
`realAmount`,`order_origin` AS `orderOrigin`,
`realAmount`,`order_origin` AS `orderOrigin`, `has_pay` AS `hasPay`,
`pay_way` AS `payWay`,`crt_time`AS `crtTime`
from `base_order` where `has_pay`=1 and `crt_time` between #{startDate} and #{endDate} and `type` IN <foreach collection="types"
from `base_order` where (`crt_time` between #{startDate} and #{endDate} or `pay_time` between #{startDate} and #{endDate} ) and `type` IN <foreach collection="types"
item="type"
open="(" close=")"
separator=",">
......
......@@ -2,6 +2,7 @@ import com.xxfc.platform.order.OrderApplication;
import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz;
import com.xxfc.platform.order.biz.OrderMemberReceivedStatisticsBiz;
import com.xxfc.platform.order.jobhandler.BaseOrderStatisticsJobHandler;
import com.xxfc.platform.universal.utils.DateUtil;
import org.joda.time.DateTime;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -41,7 +42,8 @@ public class ServiceTest {
@Test
public void testMemberStatisticsInsert(){
orderMemberReceivedStatisticsBiz.orderMemberReceivedStatistics();
Date date = cn.hutool.core.date.DateTime.of("2019-11-17", "yyyy-MM-dd").toJdkDate();
orderMemberReceivedStatisticsBiz.orderMemberReceivedStatistics(date);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment