Commit 2406200c authored by hanfeng's avatar hanfeng

修改统计

parent cdc6b446
...@@ -26,6 +26,13 @@ public class DailyOrderStatistics { ...@@ -26,6 +26,13 @@ public class DailyOrderStatistics {
@Column(name = "one_day") @Column(name = "one_day")
private String oneDay; private String oneDay;
/**
* 分公司id
*/
@Column(name = "branch_company_id")
private Integer branchCompanyId;
/** /**
* 成交总金额 * 成交总金额
*/ */
......
...@@ -23,11 +23,6 @@ import java.util.Date; ...@@ -23,11 +23,6 @@ import java.util.Date;
@Table(name = "daily_vehicle_order_statistics") @Table(name = "daily_vehicle_order_statistics")
public class DailyVehicleOrderStatistics extends DailyOrderStatistics{ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
/**
* 成交总金额
*/
@Column(name = "gmv")
private BigDecimal gmv;
/** /**
* 预交押金总额 * 预交押金总额
...@@ -60,5 +55,10 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{ ...@@ -60,5 +55,10 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
@Column(name = "postpone") @Column(name = "postpone")
private BigDecimal postpone; private BigDecimal postpone;
/**
* 取消订单扣款总额
*/
@Column(name = "penal_sum")
private BigDecimal penalSum;
} }
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
import lombok.Data;
import java.math.BigDecimal;
/** /**
* @author Administrator * @author Administrator
*/ */
@Data
public class OrderStatistics { public class OrderStatistics {
/**
* 月成交总金额
*/
private BigDecimal totalGmv;
/**
* 月押金总额
*/
private BigDecimal totalSecurityDeposit;
/**
* 月退还押金总额
*/
private BigDecimal totalRefundSecurityDeposit;
/**
* 月赔偿总额
*/
private BigDecimal totalCompensation;
/**
* 月违章总额
*/
private BigDecimal totalForfeit;
/**
* 月取消订单扣款总额
*/
private BigDecimal totalPenalSum;
/**
* 月延期扣款总额
*/
private BigDecimal totalPostpone;
} }
...@@ -38,6 +38,13 @@ ...@@ -38,6 +38,13 @@
<artifactId>spring-boot-starter-amqp</artifactId> <artifactId>spring-boot-starter-amqp</artifactId>
</dependency> </dependency>
<!-- hutool工具类-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.10</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -9,6 +9,7 @@ import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper; ...@@ -9,6 +9,7 @@ import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -24,7 +25,9 @@ import java.util.Map; ...@@ -24,7 +25,9 @@ import java.util.Map;
@Slf4j @Slf4j
public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderStatisticsMapper, DailyMembersOrderStatistics> { public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderStatisticsMapper, DailyMembersOrderStatistics> {
private final Integer headOfficeId = 1;
@Transactional(rollbackFor = Exception.class)
public boolean memberOrderStatistics() { public boolean memberOrderStatistics() {
try { try {
HashMap<String, Object> resultMap = new HashMap<>(); HashMap<String, Object> resultMap = new HashMap<>();
...@@ -42,15 +45,16 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -42,15 +45,16 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Override @Override
public int insertSelectiveRe(DailyMembersOrderStatistics entity) { public int insertSelectiveRe(DailyMembersOrderStatistics entity) {
Date date = new Date(); Date date = new Date();
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("时间******[{}]",date); log.debug("时间******[{}]",date);
} }
entity.setBranchCompanyId(headOfficeId);
entity.setCrtTime(date); entity.setCrtTime(date);
return mapper.insertSelective(entity); return mapper.insertSelective(entity);
} }
// public OrderStatistics findAll() { public OrderStatistics findAll(Integer companyId) {
// } return mapper.monthOrderTotal(companyId);
}
} }
package com.xxfc.platform.order.biz; 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.biz.BaseBiz;
import com.github.wxiaoqi.security.common.util.EntityUtils;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics; import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper; import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.math.BigDecimal; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* 每日旅游订单统计 * 每日旅游订单统计
...@@ -20,30 +20,53 @@ import java.util.Map; ...@@ -20,30 +20,53 @@ import java.util.Map;
@Service @Service
public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStatisticsMapper, DailyTravelOrderStatistics> { public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStatisticsMapper, DailyTravelOrderStatistics> {
@Transactional(rollbackFor = Exception.class)
public boolean StatisticsOfTravelOrders() { public boolean StatisticsOfTravelOrders() {
try { try {
HashMap<String, Object> resultMap = new HashMap<>();
Map<String, Object> travelGmv = mapper.getTravelGmv(); ArrayList<DailyTravelOrderStatistics> objects = new ArrayList<>();
BigDecimal travelPenalSum = mapper.getTravelPenalSum(); List<DailyTravelOrderStatistics> travelGmv = mapper.getTravelGmv();
resultMap.putAll(travelGmv); objects.addAll(travelGmv);
resultMap.put("penalSum", travelPenalSum); List<DailyTravelOrderStatistics> travelPenalSum = mapper.getTravelPenalSum();
DailyTravelOrderStatistics TravelStatistics = new DailyTravelOrderStatistics(); objects.addAll(travelPenalSum);
BeanUtils.copyProperties(TravelStatistics, resultMap); insertByList(objects);
insertSelective(TravelStatistics);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false; return false;
} }
} }
private void insertByList(ArrayList<DailyTravelOrderStatistics> objects) throws Exception {
HashMap<Integer, DailyTravelOrderStatistics> map = new HashMap<>();
for (DailyTravelOrderStatistics object : objects) {
DailyTravelOrderStatistics statistics = map.get(object.getBranchCompanyId());
if (statistics==null) {
statistics= new DailyTravelOrderStatistics();
map.put(object.getBranchCompanyId(),statistics);
}
BeanUtil.copyProperties(object,statistics, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
}
for (Map.Entry<Integer, DailyTravelOrderStatistics> e : map.entrySet()) {
insertSelectiveRe(e.getValue());
}
}
@Override @Override
public int insertSelectiveRe(DailyTravelOrderStatistics entity) { public int insertSelectiveRe(DailyTravelOrderStatistics entity) {
entity.setCrtTime(new Date()); entity.setCrtTime(new Date());
return mapper.insertSelective(entity); return mapper.insertSelective(entity);
} }
public void findAll() { public OrderStatistics findAll(Integer branchCompanyId) {
return mapper.monthOrderTotal(branchCompanyId);
} }
} }
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.DailyVehicleOrderStatistics; import com.xxfc.platform.order.entity.DailyVehicleOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics; import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper; import com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper;
import com.xxfc.platform.order.pojo.DedDetailDTO; import com.xxfc.platform.order.pojo.DedDetailDTO;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
/** 每日租车订单统计 /**
* 每日租车订单统计
*
* @author Administrator * @author Administrator
*/ */
@Service @Service
...@@ -24,33 +28,39 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -24,33 +28,39 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
private final Integer TYPE_DEFERRED = 1; private final Integer TYPE_DEFERRED = 1;
private final Integer TYPE_DAMAGE = 2; private final Integer TYPE_DAMAGE = 2;
private final Integer TYPE_OTHER = 3;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean StatisticsOfCarRentalOrders() { public boolean StatisticsOfCarRentalOrders() {
try { try {
HashMap<String, Object> resultMap = new HashMap<>();
ArrayList<DailyVehicleOrderStatistics> result = new ArrayList<>();
// 获取每日租车订单成交金和押金总额 // 获取每日租车订单成交金和押金总额
Map<String, BigDecimal> gmvAndMarginTotal = mapper.getGmvAndMarginTotal(); List<DailyVehicleOrderStatistics> gmvAndMarginTotal = mapper.getGmvAndMarginTotal();
resultMap.putAll(gmvAndMarginTotal); result.addAll(gmvAndMarginTotal);
// 获取车辆
BigDecimal penalSum = mapper.getPenalSum(); // 获取取消订单扣款总额
resultMap.put("penalSum", penalSum); List<DailyVehicleOrderStatistics> penalSum = mapper.getPenalSum();
result.addAll(penalSum);
// 获取订单退还押金总额 // 获取订单退还押金总额
BigDecimal refundSecurityDeposit = mapper.getRefundSecurityDeposit(); List<DailyVehicleOrderStatistics> refundSecurityDeposit = mapper.getRefundSecurityDeposit();
resultMap.put("refundSecurityDeposit", refundSecurityDeposit); result.addAll(refundSecurityDeposit);
// 获取违章查询总和
BigDecimal violationMoney = mapper.getViolationMoney(); // 获取违章查询总和
resultMap.put("violationMoney", violationMoney); List<DailyVehicleOrderStatistics> violationMoney = mapper.getViolationMoney();
// 获取赔偿和延期JSON字符串 result.addAll(violationMoney);
List<String> compensationAndPostpone = mapper.getCompensationAndPostpone();
// 获取赔偿和延期JSON字符串转换为map // 获取赔偿和延期JSON字符串
Map<String, BigDecimal> cpMap = getCompensationAndPostponeMap(compensationAndPostpone); List<Map> compensationAndPostpone = mapper.getCompensationAndPostpone();
resultMap.putAll(cpMap); // 获取赔偿和延期JSON字符串转换为map
DailyVehicleOrderStatistics orderStatistics = new DailyVehicleOrderStatistics(); List<DailyVehicleOrderStatistics> compensationAndPostpones = getCompensationAndPostpones(compensationAndPostpone);
BeanUtils.copyProperties(orderStatistics,resultMap); result.addAll(compensationAndPostpones);
insertSelective(orderStatistics);
InsertByList(result);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -60,45 +70,115 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -60,45 +70,115 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
} }
private void InsertByList(ArrayList<DailyVehicleOrderStatistics> result)throws Exception {
Map<Integer, DailyVehicleOrderStatistics> map = new HashMap<>();
for (DailyVehicleOrderStatistics value : result) {
Integer branchCompanyId = value.getBranchCompanyId();
DailyVehicleOrderStatistics statistics = map.get(branchCompanyId);
if (statistics == null) {
statistics = new DailyVehicleOrderStatistics();
map.put(branchCompanyId, statistics);
BeanUtil.copyProperties(
value,
statistics,
CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
}
for (Map.Entry<Integer, DailyVehicleOrderStatistics> entry : map.entrySet()) {
insertSelectiveRe(entry.getValue());
}
}
}
/** /**
* 获取赔偿总额和延期总额 * 获取赔偿总额和延期总额
*/ */
private Map<String, BigDecimal> getCompensationAndPostponeMap(List<String> compensationAndPostpone) { private List<DailyVehicleOrderStatistics> getCompensationAndPostpones(List<Map> list) {
if (CollectionUtils.isNotEmpty(compensationAndPostpone)) {
List<DedDetailDTO> sumDedDetailDTOs = new ArrayList<>(); if (CollectionUtils.isNotEmpty(list)) {
for (String value : compensationAndPostpone) { //获取分公全部赔偿和延期DedDetailDTO
List<DedDetailDTO> dedDetailDTOS = JSON.parseArray(value, DedDetailDTO.class); HashMap<Integer, List<DedDetailDTO>> map = new HashMap<>();
sumDedDetailDTOs.addAll(dedDetailDTOS);
for (Map value : list) {
if (value != null) {
//获取分公司id
Integer branchCompanyId = (Integer) value.get("branchCompanyId");
List<DedDetailDTO> strings = map.get(branchCompanyId);
if (strings == null) {
strings = new ArrayList<DedDetailDTO>();
map.put(branchCompanyId, strings);
}
String str = (String) value.get("dedDetail");
if (StringUtils.isNotBlank(str)) {
List<DedDetailDTO> dedDetailDTOS = JSON.parseArray(str, DedDetailDTO.class);
if (CollectionUtils.isNotEmpty(dedDetailDTOS)) {
strings.addAll(dedDetailDTOS);
}
}
}
} }
List<DailyVehicleOrderStatistics> result = new ArrayList<>();
if (!map.isEmpty()) {
//获取分工对象集合
for (Map.Entry<Integer, List<DedDetailDTO>> entry : map.entrySet()) {
DailyVehicleOrderStatistics statistics = new DailyVehicleOrderStatistics();
//公司id添加到对象当中
statistics.setBranchCompanyId(entry.getKey());
//获取公司的JSON字符串
List<DedDetailDTO> sumDedDetailDTOs = entry.getValue();
// 获取赔偿金额总和 // 获取赔偿金额总和
BigDecimal compensation = get(sumDedDetailDTOs, TYPE_DAMAGE); BigDecimal compensation = get(sumDedDetailDTOs, TYPE_DAMAGE);
statistics.setCompensation(compensation);
// 获取延期金额总和 // 获取延期金额总和
BigDecimal postpone = get(sumDedDetailDTOs, TYPE_DEFERRED); BigDecimal postpone = get(sumDedDetailDTOs, TYPE_DEFERRED);
Map<String, BigDecimal> resultMap = new HashMap<>(); statistics.setPostpone(postpone);
resultMap.put("compensation", compensation); //// 其他款项总金额
resultMap.put("postpone", postpone); // BigDecimal other = get(sumDedDetailDTOs, TYPE_OTHER);
return resultMap;
result.add(statistics);
}
}
return result;
} }
return new HashMap<String, BigDecimal>(); return new ArrayList<>();
} }
/** /**
* 根据type获取对应的金额总和 * 根据type获取对应的金额总和
* *
* @param sumDedDetailDTOs * @param sumDedDetailDTOs
* @param TYPE_DAMAGE * @param type 金额类型
* @return * @return
*/ */
private BigDecimal get(List<DedDetailDTO> sumDedDetailDTOs, Integer TYPE_DAMAGE) { private BigDecimal get(List<DedDetailDTO> sumDedDetailDTOs, Integer type) {
if (CollectionUtils.isNotEmpty(sumDedDetailDTOs)) { if (CollectionUtils.isNotEmpty(sumDedDetailDTOs)) {
BigDecimal aggregateAmount = sumDedDetailDTOs.stream() BigDecimal aggregateAmount = sumDedDetailDTOs.stream()
.filter(d -> TYPE_DAMAGE.equals(d.getType())) .filter(d -> type.equals(d.getType()))
.map(DedDetailDTO::getCost) .map(DedDetailDTO::getCost)
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
return aggregateAmount; return aggregateAmount;
} }
return null; return BigDecimal.ZERO;
} }
...@@ -108,7 +188,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -108,7 +188,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
return mapper.insertSelective(entity); return mapper.insertSelective(entity);
} }
public OrderStatistics findAll() { public OrderStatistics findAll(Integer companyId) {
return mapper.monthOrderTotal(); return mapper.monthOrderTotal(companyId);
} }
} }
package com.xxfc.platform.order.mapper; package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics; import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.OrderStatistics;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.Map; import java.util.Map;
...@@ -13,4 +14,6 @@ public interface DailyMembersOrderStatisticsMapper extends Mapper<DailyMembersOr ...@@ -13,4 +14,6 @@ public interface DailyMembersOrderStatisticsMapper extends Mapper<DailyMembersOr
Map<String, Object> getTravelGmv(); Map<String, Object> getTravelGmv();
OrderStatistics monthOrderTotal(Integer companyId);
} }
package com.xxfc.platform.order.mapper; package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics; import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import org.springframework.stereotype.Repository; import com.xxfc.platform.order.entity.OrderStatistics;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -13,7 +14,9 @@ import java.util.Map; ...@@ -13,7 +14,9 @@ import java.util.Map;
public interface DailyTravelOrderStatisticsMapper extends Mapper<DailyTravelOrderStatistics> { public interface DailyTravelOrderStatisticsMapper extends Mapper<DailyTravelOrderStatistics> {
Map<String,Object> getTravelGmv(); List<DailyTravelOrderStatistics> getTravelGmv();
BigDecimal getTravelPenalSum(); List<DailyTravelOrderStatistics> getTravelPenalSum();
OrderStatistics monthOrderTotal(Integer branchCompanyId);
} }
...@@ -14,15 +14,15 @@ import java.util.Map; ...@@ -14,15 +14,15 @@ import java.util.Map;
*/ */
public interface DailyVehicleOrderStatisticsMapper extends Mapper<DailyVehicleOrderStatistics> { public interface DailyVehicleOrderStatisticsMapper extends Mapper<DailyVehicleOrderStatistics> {
Map<String, BigDecimal> getGmvAndMarginTotal(); List<DailyVehicleOrderStatistics> getGmvAndMarginTotal();
List<String> getCompensationAndPostpone(); List<Map> getCompensationAndPostpone();
BigDecimal getPenalSum(); List<DailyVehicleOrderStatistics> getPenalSum();
BigDecimal getRefundSecurityDeposit(); List<DailyVehicleOrderStatistics> getRefundSecurityDeposit();
BigDecimal getViolationMoney(); List<DailyVehicleOrderStatistics> getViolationMoney();
OrderStatistics monthOrderTotal(); OrderStatistics monthOrderTotal(Integer companyId);
} }
package com.xxfc.platform.order.rest.background; package com.xxfc.platform.order.rest.background;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
...@@ -21,8 +25,24 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -21,8 +25,24 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("orderStatisticsA") @RequestMapping("orderStatisticsA")
public class OrderStatisticsController extends BaseController<OrderStatisticsBiz, OrderStatistics> { public class OrderStatisticsController extends BaseController<OrderStatisticsBiz, OrderStatistics> {
@Autowired
private UserFeign userFeign;
@Autowired
private UserAuthConfig userAuthConfig;
/**
* 租车订单
*/
private final Integer TYEP_VEHICLE = 1; private final Integer TYEP_VEHICLE = 1;
/**
* 旅游订单
*/
private final Integer TYEP_TOUR = 2; private final Integer TYEP_TOUR = 2;
/**
* 购买会员订单
*/
private final Integer TYEP_MEMBER = 3; private final Integer TYEP_MEMBER = 3;
@Autowired @Autowired
...@@ -38,16 +58,22 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz ...@@ -38,16 +58,22 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@ApiOperation("获取订单统计数据") @ApiOperation("获取订单统计数据")
@GetMapping("/findAll/{type}") @GetMapping("/findAll/{type}")
public ObjectRestResponse findAll(@PathVariable Integer type) { public ObjectRestResponse findAll(@PathVariable Integer type) {
ObjectRestResponse<UserDTO> userDTOObjectRestResponse = userFeign.userinfoByToken(userAuthConfig.getToken(getRequest()));
if (userDTOObjectRestResponse==null||userDTOObjectRestResponse.getData()==null) {
throw new BaseException("请登录!");
}
UserDTO user = userDTOObjectRestResponse.getData();
Integer companyId = user.getCompanyId();
if (TYEP_VEHICLE.equals(type)) { if (TYEP_VEHICLE.equals(type)) {
vehicleBiz.findAll(); return ObjectRestResponse.succ(vehicleBiz.findAll(companyId));
} }
if (TYEP_TOUR.equals(type)) { if (TYEP_TOUR.equals(type)) {
TravelBiz.findAll(); return ObjectRestResponse.succ(TravelBiz.findAll(companyId));
} }
// if (TYEP_MEMBER.equals(type)) { if (TYEP_MEMBER.equals(type)) {
// membersBiz.findAll(); return ObjectRestResponse.succ(membersBiz.findAll(companyId));
// } }
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"参数为空!");
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"属性不能为空!");
} }
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper"> <mapper namespace="com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper">
<!-- 获取每日租车订单成交金和押金总额--> <!-- 获取会员订单成交金-->
<select id="getTravelGmv" resultType="HashMap"> <select id="getTravelGmv" resultType="HashMap">
select select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay, COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
...@@ -14,4 +14,16 @@ ...@@ -14,4 +14,16 @@
AND AND
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select> </select>
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv
FROM
daily_travel_order_statistics
WHERE
branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -2,29 +2,41 @@ ...@@ -2,29 +2,41 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper"> <mapper namespace="com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper">
<!-- 获取每日租车订单成交金和押金总额--> <!-- 获取旅游订单成交金-->
<select id="getTravelGmv" resultType="HashMap"> <select id="getTravelGmv" resultType="list">
select select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay, t.start_company_id as branchCompanyId,
IFNULL(SUM(real_amount),0) as gmv COALESCE(date_format(FROM_UNIXTIME(o.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(o.real_amount),0) as gmv
from from
base_order base_order o
left join
order_tour_detail t
on
o.id=t.order_id
where where
type=2 type=2
AND and
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(o.pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
group by
t.start_company_id
</select> </select>
<!-- 取消订单扣除款项总和--> <!-- 取消订单扣除款项总和-->
<select id="getTravelPenalSum" resultType="BigDecimal"> <select id="getTravelPenalSum" resultType="list">
SELECT SELECT
t.start_company_id as branchCompanyId,
IFNULL(SUM(r.deduct_amount),0) as penalSum IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM FROM
base_order o
left join
order_refund r order_refund r
left join
base_order o
on on
o.id=r.order_id o.id=r.order_id
left join
order_tour_detail t
on
o.id=t.order_id
WHERE WHERE
o.type=2 o.type=2
and and
...@@ -33,5 +45,20 @@ ...@@ -33,5 +45,20 @@
r.refund_type =1 r.refund_type =1
and and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
group by
t.start_company_id
</select>
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum
FROM
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')
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,123 +3,155 @@ ...@@ -3,123 +3,155 @@
<mapper namespace="com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper"> <mapper namespace="com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper">
<!-- 获取每日租车订单成交金和押金总额--> <!-- 获取每日租车订单成交金和押金总额-->
<select id="getGmvAndMarginTotal" resultType="HashMap"> <select id="getGmvAndMarginTotal" resultType="List">
select SELECT
v.start_company_id AS branchCompanyId,
COALESCE(date_format(FROM_UNIXTIME(b.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay, COALESCE(date_format(FROM_UNIXTIME(b.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(b.real_amount-v.deposit),0) as gmv, IFNULL(SUM(b.real_amount-v.deposit),0) AS gmv,
IFNULL(SUM(v.deposit),0) as securityDeposit IFNULL(SUM(v.deposit),0) AS securityDeposit
from FROM
base_order b base_order b
left join LEFT JOIN
order_rent_vehicle_detail v order_rent_vehicle_detail v
on ON
b.id=v.order_id b.id=v.order_id
where WHERE
b.type=1 b.type=1
AND AND
date(FROM_UNIXTIME(b.pay_time/1000))=date(DATE_SUB(now(),interval 1 day)) DATE(FROM_UNIXTIME(b.pay_time/1000))=DATE(DATE_SUB(now(),INTERVAL 1 DAY))
GROUP BY
v.start_company_id
</select> </select>
<!-- 退还押金总额--> <!-- 退还押金总额-->
<select id="getRefundSecurityDeposit" resultType="BigDecimal"> <select id="getRefundSecurityDeposit" resultType="List">
SELECT SELECT
IFNULL(SUM(r.refund_amount),0) as refundSecurityDeposit v.start_company_id AS branchCompanyId,
IFNULL(SUM(r.refund_amount),0) AS refundSecurityDeposit
FROM FROM
base_order o base_order o
left join LEFT JOIN
order_refund r order_refund r
on ON
o.id=r.order_id o.id=r.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
v.order_id=o.id
WHERE WHERE
o.type=1 o.type=1
and AND
r.refund_status=1 r.refund_status=1
and AND
r.refund_type >1 r.refund_type >1
and AND
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day)) DATE(FROM_UNIXTIME(r.refund_time/1000))=DATE(DATE_SUB(now(),INTERVAL 1 DAY))
GROUP BY
v.start_company_id
</select> </select>
<!-- 取消订单扣除款项总和--> <!-- 取消订单扣除款项总和-->
<select id="getPenalSum" resultType="BigDecimal"> <select id="getPenalSum" resultType="List">
SELECT SELECT
v.start_company_id as branchCompanyId,
IFNULL(SUM(r.deduct_amount),0) as penalSum IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM FROM
base_order o
left join
order_refund r order_refund r
on LEFT JOIN
base_order o
ON
o.id=r.order_id o.id=r.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
v.order_id=o.id
WHERE WHERE
o.type=1 o.type=1
and AND
r.refund_status=1 r.refund_status=1
and AND
r.refund_type =1 r.refund_type =1
and AND
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
GROUP BY
v.start_company_id
</select> </select>
<!-- 获取赔偿和延期JSON字符串--> <!-- 获取赔偿和延期JSON字符串-->
<select id="getCompensationAndPostpone" resultType="List"> <select id="getCompensationAndPostpone" resultType="List">
SELECT SELECT
ded_detail v.start_company_id AS branchCompanyId,
c.ded_detail AS dedDetail
FROM FROM
order_refund r order_refund r
LEFT JOIN LEFT JOIN
order_vehicle_crosstown c order_vehicle_crosstown c
on on
r.order_id = c.order_id r.order_id = c.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
r.order_id=v.order_id
WHERE WHERE
r.refund_status=1 r.refund_status=1
and and
r.refund_type = 3 r.refund_type = 3
and and
c.type=2 c.type=3
and and
date(FROM_UNIXTIME(refund_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
order by v.start_company_id asc
</select> </select>
<select id="getViolationMoney" resultType="BigDecimal"> <!--违章-->
<select id="getViolationMoney" resultType="List">
SELECT SELECT
v.price d.start_company_id AS branchCompanyId,
v.price as violationMoney
FROM FROM
order_refund r order_refund r
left JOIN LEFT JOIN
base_order o base_order o
on on
o.id=r.order_id r.order_id= o.id
LEFT JOIN LEFT JOIN
order_rent_vehicle_detail d order_rent_vehicle_detail d
on on
o.id = d.order_id r.order_id= d.order_id
left join left join
order_violation v order_violation v
on on
d.id = v.detail_id d.id = v.detail_id
WHERE WHERE
o.type=1
and
r.refund_status=1 r.refund_status=1
and and
r.refund_type = 4 r.refund_type = 4
and and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day)) date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
GROUP BY
d.start_company_id
</select> </select>
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
sum(gmv) as totalGmv, branch_company_id as branchCompanyId,
sum(security_deposit) totalSecurityDeposit IFNULL(sum(gmv),0) as totalGmv,
sum(refund_security_deposit) totalRefundSecurityDeposit, IFNULL(sum(security_deposit),0) as totalSecurityDeposit,
sum(compensation) totalCompensation, IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
sum(forfeit) totalForfeit, IFNULL(sum(compensation) ,0) as totalCompensation,
sum(penal_sum) totalPenalSum, IFNULL(sum(forfeit) ,0) as totalForfeit,
sum(postpone) totalPostpone, IFNULL(sum(penal_sum) ,0) as totalPenalSum,
IFNULL(sum(postpone) ,0) as totalPostpone
FROM FROM
daily_vehicle_order_statistics daily_vehicle_order_statistics
WHERE WHERE
DATE_FORMAT(crt_time,'%d')=DATE_FORMAT(NOW(),'%d') branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -272,7 +272,6 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -272,7 +272,6 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
vehicleCata.setVehicleModelId(id); vehicleCata.setVehicleModelId(id);
vehicleCata.setIsdel(1); vehicleCata.setIsdel(1);
vehicleCataBiz.updateIsdalByVehicleModelId(vehicleCata); vehicleCataBiz.updateIsdalByVehicleModelId(vehicleCata);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
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