From 52bc8ff0de3c7538d1401423c1cba9615c0c2082 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 18 六月 2020 17:22:24 +0800
Subject: [PATCH] 发圈商品来源修改 + 云发单规则调整
---
fanli/src/main/java/com/yeshi/fanli/service/impl/count/DailyCountOrderServiceImpl.java | 203 +++++++++++++++++++++++++++-----------------------
1 files changed, 110 insertions(+), 93 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/DailyCountOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/DailyCountOrderServiceImpl.java
index f7137a2..d1a552b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/DailyCountOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/DailyCountOrderServiceImpl.java
@@ -36,35 +36,34 @@
@Resource
private DailyCountOrderDao dailyCountOrderDao;
-
+
@Resource
private HongBaoV2CountService hongBaoV2CountService;
-
+
@Resource
private CommonOrderCountService commonOrderCountService;
-
+
@Resource
private UserInfoRegisterService userInfoRegisterService;
-
+
@Resource
private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService;
-
+
@Resource
private TaoBaoOrderService taoBaoOrderService;
-
+
@Resource
private JDOrderService jdOrderService;
-
+
@Resource
private PDDOrderService pddOrderService;
-
+
@Resource
private LostOrderService lostOrderService;
-
-
@Override
- public List<DailyCountOrder> getDailyCountList(String type, Date startTime, Date endTime, String channel) throws Exception {
+ public List<DailyCountOrder> getDailyCountList(String type, Date startTime, Date endTime, String channel)
+ throws Exception {
// 鏌ヨ绫诲瀷
DailyCountOrderEnum typeEnum = getTypeEnum(type);
if (typeEnum == null) {
@@ -79,6 +78,7 @@
/**
* 鑾峰彇鏋氫妇绫诲瀷
+ *
* @param type
* @return
*/
@@ -86,9 +86,9 @@
if (StringUtil.isNullOrEmpty(name)) {
return null;
}
-
+
DailyCountOrderEnum[] array = DailyCountOrderEnum.values();
- for (int i = 0; i < array.length; i ++) {
+ for (int i = 0; i < array.length; i++) {
if (array[i].name().equals(name)) {
return array[i];
}
@@ -96,9 +96,9 @@
return null;
}
-
/**
* 鑾峰彇鏋氫妇绫诲瀷
+ *
* @param type
* @return
*/
@@ -107,9 +107,9 @@
if (StringUtil.isNullOrEmpty(name)) {
return "";
}
-
+
DailyCountOrderEnum[] array = DailyCountOrderEnum.values();
- for (int i = 0; i < array.length; i ++) {
+ for (int i = 0; i < array.length; i++) {
if (array[i].name().equals(name)) {
return array[i].getDesc();
}
@@ -118,22 +118,27 @@
return "";
}
-
-
/**
* 鍒濆鏁版嵁
+ *
* @param typeEnum
* @throws Exception
*/
- private void initData(DailyCountOrderEnum typeEnum) throws Exception {
+ @Override
+ public void initData(DailyCountOrderEnum typeEnum) throws Exception {
Date lastDate = null;
DailyCountOrder lastRecord = dailyCountOrderDao.getMaxDate(typeEnum);
if (lastRecord != null) {
lastDate = lastRecord.getUpdateDate();
} else {
- lastDate = TimeUtil.parse("2017-05-06");
+ lastDate = TimeUtil.parse("2018-01-20");
}
+ long min = DateUtil.dateDiffMin(lastDate, new Date());
+ if (min <= 10) { // 10鍒嗛挓浠ュ唴涓嶇粺璁�
+ return;
+ }
+
Date today = new Date();
int betweenDays = DateUtil.daysBetween2(lastDate, today);
for (int i = 0; i <= betweenDays; i++) {
@@ -176,69 +181,70 @@
/**
* 缁熻璁㈠崟鏁伴噺
+ *
* @param preDay
* @param typeEnum
* @param orderType
* @throws Exception
*/
private void addOrderNumCount(String preDay, DailyCountOrderEnum typeEnum, int orderType) throws Exception {
- Long count = hongBaoV2CountService.countOrderByTypeAndDate(orderType, preDay);
- if (count == null)
- count = 0L;
-
- DailyCountOrder obj = new DailyCountOrder();
- obj.setTotal(BigDecimal.valueOf(count));
- obj.setType(typeEnum);
- obj.setUpdateDate(new Date());
- obj.setDay(TimeUtil.parse(preDay));
- obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
- dailyCountOrderDao.save(obj);
+ Long count = hongBaoV2CountService.countOrderByTypeAndDate(orderType, preDay);
+ if (count == null)
+ count = 0L;
+
+ DailyCountOrder obj = new DailyCountOrder();
+ obj.setTotal(BigDecimal.valueOf(count));
+ obj.setType(typeEnum);
+ obj.setUpdateDate(new Date());
+ obj.setDay(TimeUtil.parse(preDay));
+ obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
+ dailyCountOrderDao.save(obj);
}
-
+
/**
* 缁熻鍚勪釜娓犻亾璁㈠崟鏁版嵁
+ *
* @param preDay
* @param typeEnum
* @throws Exception
*/
private void addChannelOrderNum(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
- List<UserInfoRegister> listRegister = null;
+ List<UserInfoRegister> listRegister = null;
// 缁熻褰撴棩璁㈠崟
List<CountOrderDTO> listOrder = commonOrderCountService.countValidOrderByDay(preDay);
-
+
if (listOrder != null && listOrder.size() > 0) {
List<Long> listUid = new ArrayList<>();
- for (CountOrderDTO countOrderDTO: listOrder) {
+ for (CountOrderDTO countOrderDTO : listOrder) {
listUid.add(countOrderDTO.getUid());
}
listRegister = userInfoRegisterService.listByMultipleUids(listUid);
}
-
+
// 缁熻鍚勪釜娓犻亾
ChannelEnum[] channels = ChannelEnum.values();
for (int i = 0; i < channels.length; i++) {
long count = 0;
String channelVlaue = channels[i].getVlaue();
if (listOrder != null && listOrder.size() > 0 && listRegister != null && listRegister.size() > 0) {
- for (CountOrderDTO dto: listOrder) {
+ for (CountOrderDTO dto : listOrder) {
Long orderUid = dto.getUid();
if (orderUid == null) {
continue;
}
-
- for (UserInfoRegister register: listRegister) {
+
+ for (UserInfoRegister register : listRegister) {
Long uid = register.getId();
- String vlaue =register.getChannel().getVlaue();
+ String vlaue = register.getChannel();
// 娓犻亾 銆佺敤鎴穒d鍖归厤
if (channelVlaue.equalsIgnoreCase(vlaue) && uid.longValue() == orderUid.longValue()) {
- count ++;
+ count++;
break;
}
}
}
}
-
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(count));
obj.setType(typeEnum);
@@ -249,9 +255,10 @@
dailyCountOrderDao.save(obj);
}
}
-
+
/**
* 缁熻鏂颁汉24H鍐呬笅鍗曟暟閲�
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -260,7 +267,7 @@
ChannelEnum[] channels = ChannelEnum.values();
for (int i = 0; i < channels.length; i++) {
int count = 0;
-
+
List<UserInfoRegister> list = userInfoRegisterService.listByChannelAndDay(channels[i].getVlaue(), preDay);
if (list != null && list.size() > 0) {
for (UserInfoRegister user : list) {
@@ -270,7 +277,7 @@
count += total;
}
}
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(count));
obj.setType(typeEnum);
@@ -281,43 +288,43 @@
dailyCountOrderDao.save(obj);
}
}
-
+
/**
* 缁熻娓犻亾閲戦
+ *
* @param preDay
* @param typeEnum
* @throws Exception
*/
- private void addChannelOrderMoney(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
- List<UserInfoRegister> listRegister = null;
+ public void addChannelOrderMoney(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
+ List<UserInfoRegister> listRegister = null;
// 鏌ヨ璁㈠崟浣i噾
List<CountOrderDTO> listOrder = commonOrderCountService.countCommissionByDay(preDay);
-
+
if (listOrder != null && listOrder.size() > 0) {
List<Long> listUid = new ArrayList<>();
- for (CountOrderDTO countOrderDTO: listOrder) {
+ for (CountOrderDTO countOrderDTO : listOrder) {
listUid.add(countOrderDTO.getUid());
}
listRegister = userInfoRegisterService.listByMultipleUids(listUid);
}
-
-
+
ChannelEnum[] channels = ChannelEnum.values();
for (int i = 0; i < channels.length; i++) {
BigDecimal money = new BigDecimal(0);
String channelVlaue = channels[i].getVlaue();
-
+
if (listOrder != null && listOrder.size() > 0 && listRegister != null && listRegister.size() > 0) {
- for (CountOrderDTO dto: listOrder) {
+ for (CountOrderDTO dto : listOrder) {
Long orderUid = dto.getUid();
BigDecimal commission = dto.getCommission();
- if (commission != null || orderUid == null) {
+ if (commission == null || orderUid == null) {
continue;
}
-
- for (UserInfoRegister register: listRegister) {
+
+ for (UserInfoRegister register : listRegister) {
Long uid = register.getId();
- String vlaue =register.getChannel().getVlaue();
+ String vlaue = register.getChannel();
// 娓犻亾 銆佺敤鎴穒d鍖归厤
if (channelVlaue.equalsIgnoreCase(vlaue) && uid.longValue() == orderUid.longValue()) {
money = MoneyBigDecimalUtil.add(money, commission);
@@ -325,8 +332,7 @@
}
}
}
-
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(money);
obj.setType(typeEnum);
@@ -337,9 +343,10 @@
dailyCountOrderDao.save(obj);
}
}
-
+
/**
* 缁熻缁存潈璁㈠崟鏁伴噺
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -348,7 +355,7 @@
Integer count = userOrderWeiQuanRecordService.countWeiQaunOrderNumberByDate(preDay);
if (count == null)
count = 0;
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(count));
obj.setType(typeEnum);
@@ -357,10 +364,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
-
+
/**
* 鏌ヨ缁存潈閲戦
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -369,7 +376,7 @@
BigDecimal money = userOrderWeiQuanRecordService.countWeiQaunOrderMoneyByDate(preDay);
if (money == null)
money = new BigDecimal(0);
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(money);
obj.setType(typeEnum);
@@ -378,10 +385,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
-
+
/**
* 娣樺疂璁㈠崟璺熻釜鐜�
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -389,17 +396,20 @@
private void addTBOrderTrackRate(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
// 缁熻璺熻釜鍒版暟鎹�
Long count = commonOrderCountService.countOrderBySourceTypeAndDay(Constant.SOURCE_TYPE_TAOBAO, preDay);
-
+
Long total = taoBaoOrderService.countOrderByDay(preDay);
-
+
// 璁$畻姣斾緥
BigDecimal rate = new BigDecimal(0);
if (total != null && total > 0 && count != null && count > 0) {
- rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count),BigDecimal.valueOf(total));
+ rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count), BigDecimal.valueOf(total));
rate = MoneyBigDecimalUtil.mul(rate, BigDecimal.valueOf(100));
- }
+ }
DailyCountOrder obj = new DailyCountOrder();
+ obj.setRate(true);
+ obj.setTotalDay(BigDecimal.valueOf(total));
+ obj.setTotalValid(BigDecimal.valueOf(count));
obj.setTotal(rate);
obj.setType(typeEnum);
obj.setUpdateDate(new Date());
@@ -407,9 +417,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
+
/**
* 浜笢璁㈠崟璺熻釜鐜�
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -417,17 +428,20 @@
private void addJDOrderTrackRate(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
// 缁熻璺熻釜鍒版暟鎹�
Long count = commonOrderCountService.countOrderBySourceTypeAndDay(Constant.SOURCE_TYPE_JD, preDay);
-
+
Long total = jdOrderService.countOrderByDay(preDay);
-
+
// 璁$畻姣斾緥
BigDecimal rate = new BigDecimal(0);
if (total != null && total > 0 && count != null && count > 0) {
- rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count),BigDecimal.valueOf(total));
+ rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count), BigDecimal.valueOf(total));
rate = MoneyBigDecimalUtil.mul(rate, BigDecimal.valueOf(100));
- }
+ }
DailyCountOrder obj = new DailyCountOrder();
+ obj.setRate(true);
+ obj.setTotalDay(BigDecimal.valueOf(total));
+ obj.setTotalValid(BigDecimal.valueOf(count));
obj.setTotal(rate);
obj.setType(typeEnum);
obj.setUpdateDate(new Date());
@@ -435,11 +449,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
-
-
+
/**
* 鎷煎澶氳鍗曡窡韪巼
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -447,16 +460,19 @@
private void addPDDOrderTrackRate(String preDay, DailyCountOrderEnum typeEnum) throws Exception {
// 缁熻璺熻釜鍒版暟鎹�
Long count = commonOrderCountService.countOrderBySourceTypeAndDay(Constant.SOURCE_TYPE_PDD, preDay);
-
+
Long total = pddOrderService.countOrderByDay(preDay);
// 璁$畻姣斾緥
BigDecimal rate = new BigDecimal(0);
if (total != null && total > 0 && count != null && count > 0) {
- rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count),BigDecimal.valueOf(total));
+ rate = MoneyBigDecimalUtil.div(BigDecimal.valueOf(count), BigDecimal.valueOf(total));
rate = MoneyBigDecimalUtil.mul(rate, BigDecimal.valueOf(100));
- }
+ }
DailyCountOrder obj = new DailyCountOrder();
+ obj.setRate(true);
+ obj.setTotalDay(BigDecimal.valueOf(total));
+ obj.setTotalValid(BigDecimal.valueOf(count));
obj.setTotal(rate);
obj.setType(typeEnum);
obj.setUpdateDate(new Date());
@@ -467,6 +483,7 @@
/**
* 缁熻鐢宠瘔璁㈠崟鏈鐞嗘暟閲�
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -475,7 +492,7 @@
Integer num = lostOrderService.countLostOrderNum(preDay, LostOrder.RESULT_CODE_VERFING);
if (num == null)
num = 0;
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(num));
obj.setType(typeEnum);
@@ -484,10 +501,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
-
+
/**
* 缁熻鐢宠瘔璁㈠崟 澶勭悊澶辫触
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -496,7 +513,7 @@
Integer num = lostOrderService.countLostOrderNum(preDay, LostOrder.RESULT_CODE_FAIL);
if (num == null)
num = 0;
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(num));
obj.setType(typeEnum);
@@ -505,11 +522,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
-
-
+
/**
* 缁熻鐢宠瘔璁㈠崟 澶勭悊鎴愬姛
+ *
* @param preDay
* @param typeEnum
* @throws Exception
@@ -518,7 +534,7 @@
Integer num = lostOrderService.countLostOrderNum(preDay, LostOrder.RESULT_CODE_SUCCESS);
if (num == null)
num = 0;
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(BigDecimal.valueOf(num));
obj.setType(typeEnum);
@@ -527,9 +543,10 @@
obj.setId(StringUtil.Md5(preDay + typeEnum.name()));
dailyCountOrderDao.save(obj);
}
-
+
/**
* 璁㈠崟鎵惧洖鎴愬姛缁熻閲戦
+ *
* @param preDay
* @throws Exception
*/
@@ -537,7 +554,7 @@
BigDecimal money = lostOrderService.countAppealMoney(preDay);
if (money == null)
money = new BigDecimal("0");
-
+
DailyCountOrder obj = new DailyCountOrder();
obj.setTotal(money);
obj.setType(typeEnum);
--
Gitblit v1.8.0