Commit c28dca9b authored by hanfeng's avatar hanfeng

修改订单统计

parent a40376b5
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper;
import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -38,13 +37,25 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
public boolean memberOrderStatistics() {
try {
List<Map<String, Object>> travelGmv = mapper.getTravelGmv(day);
if (CollectionUtils.isEmpty(travelGmv)) {
Map<String, Object> travelGmv = mapper.getTravelGmv(day);
if (travelGmv.isEmpty()) {
return true;
}
for (Map<String, Object> stringObjectMap : travelGmv) {
DailyMembersOrderStatistics MembersStatistics = new DailyMembersOrderStatistics();
BeanUtils.copyProperties(MembersStatistics, stringObjectMap);
BeanUtils.copyProperties(MembersStatistics, travelGmv);
String oneDay = MembersStatistics.getOneDay();
if (StringUtils.isBlank(oneDay)) {
throw new BaseException();
}
Example exa = new Example(DailyMembersOrderStatistics.class);
exa.createCriteria().andEqualTo("oneDay", oneDay);
List<DailyMembersOrderStatistics> statistics = selectByExample(exa);
if (CollectionUtils.isEmpty(statistics)) {
insertSelective(MembersStatistics);
}
return true;
......
......@@ -3,16 +3,21 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import java.util.*;
import java.util.stream.Collectors;
/**
* 每日旅游订单统计
......@@ -20,6 +25,7 @@ import java.util.*;
* @author Administrator
*/
@Service
@Slf4j
public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStatisticsMapper, DailyTravelOrderStatistics> {
@Value("${order.day}")
private Integer day;
......@@ -58,10 +64,26 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
BeanUtil.copyProperties(object, statistics, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
}
String oneDay = map.entrySet().parallelStream().map(Map.Entry::getValue).collect(Collectors.toList()).get(0).getOneDay();
for (Map.Entry<Integer, DailyTravelOrderStatistics> e : map.entrySet()) {
insertSelectiveRe(e.getValue());
if (StringUtils.isBlank(oneDay)) {
throw new BaseException();
}
Example exa= new Example(DailyTravelOrderStatistics.class);
exa.createCriteria().andEqualTo("oneDay",oneDay);
List<DailyTravelOrderStatistics> statistics= selectByExample(exa);
if (CollectionUtils.isEmpty(statistics)){
for (Map.Entry<Integer, DailyTravelOrderStatistics> entry : map.entrySet()) {
insertSelectiveRe(entry.getValue());
}
}else {
log.error("今日已统计车辆订单,请不要重复统计!");
}
//
// for (Map.Entry<Integer, DailyTravelOrderStatistics> e : map.entrySet()) {
// insertSelectiveRe(e.getValue());
// }
}
}
......
......@@ -4,19 +4,27 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSON;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.order.entity.DailyOrderStatistics;
import com.xxfc.platform.order.entity.DailyVehicleOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import sun.rmi.runtime.Log;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.print.attribute.standard.MediaSize;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* 每日租车订单统计
......@@ -24,6 +32,7 @@ import java.util.*;
* @author Administrator
*/
@Service
@Slf4j
public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderStatisticsMapper, DailyVehicleOrderStatistics> {
private final Integer TYPE_DEFERRED = 1;
......@@ -73,8 +82,8 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
}
private void InsertByList(ArrayList<DailyVehicleOrderStatistics> result) throws Exception {
if (CollectionUtils.isNotEmpty(result)) {
if(CollectionUtils.isNotEmpty(result)) {
Map<Integer, DailyVehicleOrderStatistics> map = new HashMap<>();
for (DailyVehicleOrderStatistics value : result) {
......@@ -89,12 +98,23 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
value,
statistics,
CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
}
String oneDay = map.entrySet().parallelStream().map(Map.Entry::getValue).collect(Collectors.toList()).get(0).getOneDay();
if (StringUtils.isBlank(oneDay)) {
throw new BaseException();
}
Example exa= new Example(DailyVehicleOrderStatistics.class);
exa.createCriteria().andEqualTo("oneDay",oneDay);
List<DailyVehicleOrderStatistics> statistics= selectByExample(exa);
if (CollectionUtils.isEmpty(statistics)){
for (Map.Entry<Integer, DailyVehicleOrderStatistics> entry : map.entrySet()) {
insertSelectiveRe(entry.getValue());
}
}else {
log.error("今日已统计车辆订单,请不要重复统计!");
}
}
}
......
......@@ -14,7 +14,7 @@ import java.util.Map;
*/
public interface DailyMembersOrderStatisticsMapper extends Mapper<DailyMembersOrderStatistics> {
List<Map<String, Object>> getTravelGmv(@Param("day") Integer day);
Map<String, Object> getTravelGmv(@Param("day") Integer day);
OrderStatistics monthOrderTotal(@Param("companyId") Integer companyId);
......
......@@ -35,22 +35,22 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
/**
* 租车订单
*/
private final Integer TYEP_VEHICLE = 1;
private final Integer TYPE_VEHICLE = 1;
/**
* 旅游订单
*/
private final Integer TYEP_TOUR = 2;
private final Integer TYPE_TOUR = 2;
/**
* 购买会员订单
*/
private final Integer TYEP_MEMBER = 3;
private final Integer TYPE_MEMBER = 3;
/**
* 月总数据
*/
private final Integer TYEP_TOTAL = 4;
private final Integer TYPE_TOTAL = 4;
@Autowired
private DailyVehicleOrderStatisticsBiz vehicleBiz;
......@@ -77,22 +77,23 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
UserDTO user = userDTOObjectRestResponse.getData();
Integer companyId = user.getCompanyId();
if (TYEP_VEHICLE.equals(type)) {
if (TYPE_VEHICLE.equals(type)) {
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
return ObjectRestResponse.succ(vehicle);
}
if (TYEP_TOUR.equals(type)) {
if (TYPE_TOUR.equals(type)) {
OrderStatistics tour = TravelBiz.findAll(companyId);
return ObjectRestResponse.succ(tour);
}
if (TYEP_MEMBER.equals(type)) {
if (TYPE_MEMBER.equals(type)) {
OrderStatistics member = membersBiz.findAll(companyId);
return ObjectRestResponse.succ(member);
}
if (TYEP_TOTAL.equals(type)) {
if (TYPE_TOTAL.equals(type)) {
return ObjectRestResponse.succ(baseBiz.getTotalOrder(companyId));
}
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "参数错误!");
} catch (Exception e) {
e.printStackTrace();
......
......@@ -22,7 +22,7 @@
daily_members_order_statistics
WHERE
branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),'%Y-%c')
-- and
-- DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
......@@ -58,7 +58,7 @@
daily_travel_order_statistics
WHERE
branch_company_id =#{branchCompanyId}
AND
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
-- AND
-- DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
......@@ -139,9 +139,8 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT
IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(security_deposit),0) as totalSecurityDeposit,
(IFNULL(sum(security_deposit),0)-IFNULL(sum(refund_security_deposit) ,0)) as totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
IFNULL(sum(compensation) ,0) as totalCompensation,
IFNULL(sum(forfeit) ,0) as totalForfeit,
......@@ -151,7 +150,7 @@
daily_vehicle_order_statistics
WHERE
branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),'%Y-%c')
-- and
-- DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
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