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; 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 * @author libin
* @version 1.0 * @version 1.0
...@@ -16,8 +21,18 @@ public enum LevelEnum { ...@@ -16,8 +21,18 @@ public enum LevelEnum {
this.desc = desc; this.desc = desc;
} }
public static LevelEnum getLevelEnumByLevel(Integer level){
return levelMap.get(level);
}
private Integer level; private Integer level;
private String desc; 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() { public Integer getLevel() {
return level; return level;
......
...@@ -65,7 +65,7 @@ public enum OrderReceivedStatisticsSignEnum { ...@@ -65,7 +65,7 @@ public enum OrderReceivedStatisticsSignEnum {
return resultMap; return resultMap;
} }
}, },
ORDER_TOTAL_REAL_AMOUNT("ad_otra","实际收入"){ /* ORDER_TOTAL_REAL_AMOUNT("ad_otra","实际收入"){
@Override @Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) { Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>(); Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
...@@ -80,8 +80,8 @@ public enum OrderReceivedStatisticsSignEnum { ...@@ -80,8 +80,8 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap.put(getSign(),orderReceivedStatisticsVos); resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap; return resultMap;
} }
}, },*/
ORDER_REAL_AVG_AMOUNT("ae_oravga","实际arpu"){ /* ORDER_REAL_AVG_AMOUNT("ae_oravga","实际arpu"){
@Override @Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) { Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>(); Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
...@@ -103,7 +103,7 @@ public enum OrderReceivedStatisticsSignEnum { ...@@ -103,7 +103,7 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap.put(getSign(),orderReceivedStatisticsVos); resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap; return resultMap;
} }
}; }*/;
private String sign; private String sign;
private String desc; private String desc;
private static Map<String,OrderReceivedStatisticsSignEnum> orderReceivedStatisticsSignEnumMap; private static Map<String,OrderReceivedStatisticsSignEnum> orderReceivedStatisticsSignEnumMap;
......
...@@ -5,7 +5,6 @@ import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics; ...@@ -5,7 +5,6 @@ import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo; import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function; import java.util.function.Function;
...@@ -72,7 +71,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{ ...@@ -72,7 +71,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return resultMap; return resultMap;
} }
}, },
RENT_VEHICLE_REAL_TOTAL_AMOUNT("bd_rvrta","实际租车金额") { /* RENT_VEHICLE_REAL_TOTAL_AMOUNT("bd_rvrta","实际租车金额") {
@Override @Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) { Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>(); Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
...@@ -87,8 +86,8 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{ ...@@ -87,8 +86,8 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap.put(getSign(),orderReceivedStatisticsVos); resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap; return resultMap;
} }
}, },*/
RENT_VEHICLE_REAL_AVG_AMOUNT("be_rvravga","实际租车arpu") { /* RENT_VEHICLE_REAL_AVG_AMOUNT("be_rvravga","实际租车arpu") {
@Override @Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) { Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>(); Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
...@@ -110,7 +109,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{ ...@@ -110,7 +109,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap.put(getSign(),orderReceivedStatisticsVos); resultMap.put(getSign(),orderReceivedStatisticsVos);
return resultMap; return resultMap;
} }
}; }*/;
private String sign; private String sign;
private String desc; private String desc;
private static Map<String,OrderRentVehicleReceivedStatisticsSignEnum> orderRentVehicleReceivedStatisticsSignEnumMap; private static Map<String,OrderRentVehicleReceivedStatisticsSignEnum> orderRentVehicleReceivedStatisticsSignEnumMap;
......
...@@ -21,14 +21,20 @@ public enum StatisticsStatusEnum { ...@@ -21,14 +21,20 @@ public enum StatisticsStatusEnum {
public static final int FINISH = 6; public static final int FINISH = 6;
public static final int CANCEL = 2; public static final int CANCEL = 2;
public static final int UNFINISH = 3; 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> orderStates;
public static List<String> orderOrigins; public static List<String> orderOrigins;
public static List<String> orderPayWays; public static List<String> orderPayWays;
static { static {
// 2 取消 3未完成 6 已完成 // 0 未支付 1 已支付
orderStates = Lists.newArrayList("2","3","6"); orderStates = Lists.newArrayList("0","1");
// 1 app 2 小程序 3 其他 // 1 app 2 小程序 3 其他
orderOrigins = Lists.newArrayList("1","2","3"); orderOrigins = Lists.newArrayList("1","2","3");
// 1 微信 2 支付宝 // 1 微信 2 支付宝
...@@ -53,7 +59,7 @@ public enum StatisticsStatusEnum { ...@@ -53,7 +59,7 @@ public enum StatisticsStatusEnum {
for (String orderPayWay : orderPayWays) { for (String orderPayWay : orderPayWays) {
for (String orderState : orderStates) { 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 { ...@@ -61,7 +67,7 @@ public enum StatisticsStatusEnum {
} }
public static List<String> getOtherStatisticsStateGroup(List<Integer> companyIdList,List<String> statisticsStates){ public static List<String> getOtherStatisticsStateGroup(List<Integer> companyIdList,List<String> statisticsStates){
List<String> stateGroupList = CollectionUtils.isEmpty(companyIdList)?statisticsStateGroup():statisticsSateGroupWithCompanys(companyIdList); List<String> stateGroupList = CollectionUtils.isEmpty(companyIdList)?statisticsStateGroup():statisticsSateGroupWithCompanys(companyIdList);
stateGroupList.retainAll(statisticsStates); stateGroupList.removeAll(statisticsStates);
return stateGroupList; return stateGroupList;
} }
...@@ -73,7 +79,7 @@ public enum StatisticsStatusEnum { ...@@ -73,7 +79,7 @@ public enum StatisticsStatusEnum {
String[] status = stateGroup.split("-"); String[] status = stateGroup.split("-");
targetObj.setCrtTime(new Date()); targetObj.setCrtTime(new Date());
targetObj.setCompanyId(Integer.valueOf(status[0])); 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.setOrderOrigin(Integer.valueOf(status[1]));
targetObj.setPayWay(Integer.valueOf(status[2])); targetObj.setPayWay(Integer.valueOf(status[2]));
targetObj.setDate(date); targetObj.setDate(date);
......
...@@ -27,12 +27,5 @@ public class OrderReceivedStatistics extends OrderReceivedStatisticsBase impleme ...@@ -27,12 +27,5 @@ public class OrderReceivedStatistics extends OrderReceivedStatisticsBase impleme
@ApiModelProperty(value = "订单总量") @ApiModelProperty(value = "订单总量")
private Integer totalQuantity; private Integer totalQuantity;
/**
* 实际收入
*/
@Column(name = "real_amount")
@ApiModelProperty(value = "实际收入")
private BigDecimal realAmount;
} }
...@@ -62,11 +62,15 @@ public class OrderReceivedStatisticsBase { ...@@ -62,11 +62,15 @@ public class OrderReceivedStatisticsBase {
protected BigDecimal totalAmount; protected BigDecimal totalAmount;
/** /**
* 是否完成 1 完成 0 未完成 * 订单总量
*/ */
@Column(name = "is_finish") @Column(name = "total_quantity")
@ApiModelProperty(value = "是否完成 1 完成 0 未完成") @ApiModelProperty(value = "订单总量")
protected Integer isFinish; private Integer totalQuantity;
@Column(name = "has_pay")
@ApiModelProperty(value = "是否支付 1已经支付 0未支付")
protected Integer hasPay;
/** /**
* '支付来源 1--app;2--小程序', * '支付来源 1--app;2--小程序',
......
...@@ -28,11 +28,4 @@ public class OrderRentVehicleReceivedStatistics extends OrderReceivedStatisticsB ...@@ -28,11 +28,4 @@ public class OrderRentVehicleReceivedStatistics extends OrderReceivedStatisticsB
@ApiModelProperty(value = "订单总量") @ApiModelProperty(value = "订单总量")
private Integer totalQuantity; private Integer totalQuantity;
/**
* 实际收入
*/
@Column(name = "real_amount")
@ApiModelProperty(value = "实际收入")
private BigDecimal realAmount;
} }
...@@ -21,12 +21,7 @@ import java.util.Date; ...@@ -21,12 +21,7 @@ import java.util.Date;
public class OrderTourReceivedStatistics extends OrderReceivedStatisticsBase implements Serializable { public class OrderTourReceivedStatistics extends OrderReceivedStatisticsBase implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 订单总量
*/
@Column(name = "total_quantity")
@ApiModelProperty(value = "订单总量")
private Integer totalQuantity;
} }
package com.xxfc.platform.order.pojo.dto; package com.xxfc.platform.order.pojo.dto;
import com.github.wxiaoqi.security.common.enumconstant.LevelEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -29,9 +30,17 @@ public class OrderDTO { ...@@ -29,9 +30,17 @@ public class OrderDTO {
private Date crtTime; private Date crtTime;
private Integer companyId; private Integer companyId;
private String stateGroup; private String stateGroup;
private Integer hasPay;
/** /**
* 会员相关 * 会员相关
*/ */
private Integer memberLevel; private Integer memberLevel;
private LevelEnum levelEnum;
public LevelEnum getLevelEnum(){
return LevelEnum.getLevelEnumByLevel(this.memberLevel);
}
} }
...@@ -355,9 +355,9 @@ ...@@ -355,9 +355,9 @@
<select id="selectOrdersByTypeAndTime" resultType="com.xxfc.platform.order.pojo.dto.OrderDTO"> <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 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` `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" item="type"
open="(" close=")" open="(" close=")"
separator=","> separator=",">
......
...@@ -2,6 +2,7 @@ import com.xxfc.platform.order.OrderApplication; ...@@ -2,6 +2,7 @@ import com.xxfc.platform.order.OrderApplication;
import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz; import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz;
import com.xxfc.platform.order.biz.OrderMemberReceivedStatisticsBiz; import com.xxfc.platform.order.biz.OrderMemberReceivedStatisticsBiz;
import com.xxfc.platform.order.jobhandler.BaseOrderStatisticsJobHandler; import com.xxfc.platform.order.jobhandler.BaseOrderStatisticsJobHandler;
import com.xxfc.platform.universal.utils.DateUtil;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -41,7 +42,8 @@ public class ServiceTest { ...@@ -41,7 +42,8 @@ public class ServiceTest {
@Test @Test
public void testMemberStatisticsInsert(){ 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