| | |
| | | package cn.stylefeng.guns.modular.business.controller; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.stylefeng.guns.modular.business.dto.StatMentalTestDTO; |
| | | import cn.stylefeng.guns.modular.business.entity.OrderConsultOne; |
| | |
| | | @ApiImplicitParam(name = "type", value = "类型:1日,2周,3月,4年", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "beginTime", value = "开始时间", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "endTime", value = "结束时间", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "workerId", value = "咨询师ID", dataTypeClass = Long.class), |
| | | }) |
| | | public ResponseData<StatMentalTestDTO> mentalTestData(Integer type, String beginTime, String endTime) { |
| | | public ResponseData<StatMentalTestDTO> mentalTestData(Integer type, String beginTime, String endTime, Long workerId) { |
| | | List<String> orderNoList = null; |
| | | if (workerId != null) { |
| | | orderNoList = orderConsultOneService.listObjs( |
| | | Wrappers.<OrderConsultOne>lambdaQuery() |
| | | .select(OrderConsultOne::getMentalTestOrderNo) |
| | | .eq(OrderConsultOne::getGoodsId, workerId) |
| | | .eq(OrderConsultOne::getStatusFlag, OrderStatusFlagEnum.PAY_SUCCESS.getCode()) |
| | | .eq(OrderConsultOne::getStatusFlag, OrderStatusFlagEnum.PAY_SUCCESS.getCode()), |
| | | o -> StrUtil.toString(o) |
| | | ); |
| | | if (CollUtil.isEmpty(orderNoList)) { |
| | | orderNoList = Arrays.asList("0"); |
| | | } |
| | | } |
| | | |
| | | // 获取日期格式化SQL |
| | | String dateFormatSql = StatDataUtil.getDateFormatSql(type); |
| | | |
| | |
| | | |
| | | // 统计订单数据 |
| | | List<Map<String, Object>> statOrderList = orderMentalTestService.getStatOrderList( |
| | | dateFormatSql, beginTime, endTime, null, statusFlagList |
| | | dateFormatSql, beginTime, endTime, null, statusFlagList, orderNoList |
| | | ); |
| | | Double moneySum = statOrderList.stream() |
| | | .mapToDouble(item -> Double.parseDouble(item.get("data").toString())) |
| | |
| | | Wrappers.<OrderMentalTest>lambdaQuery() |
| | | .select(OrderMentalTest::getUserId) |
| | | .in(OrderMentalTest::getStatusFlag, statusFlagList) |
| | | .in(CollUtil.isNotEmpty(orderNoList), OrderMentalTest::getOrderNo, orderNoList) |
| | | .ge(StrUtil.isNotBlank(beginTime), OrderMentalTest::getCreateTime, beginTime) |
| | | .le(StrUtil.isNotBlank(endTime), OrderMentalTest::getCreateTime, endTime) |
| | | .groupBy(OrderMentalTest::getUserId) |
| | |
| | | long userBuyCount = orderConsultOneService.list( |
| | | Wrappers.<OrderConsultOne>lambdaQuery() |
| | | .select(OrderConsultOne::getUserId) |
| | | .eq(workerId != null, OrderConsultOne::getGoodsId, workerId) |
| | | .in(OrderConsultOne::getStatusFlag, statusFlagList) |
| | | .ge(StrUtil.isNotBlank(beginTime), OrderConsultOne::getCreateTime, beginTime) |
| | | .le(StrUtil.isNotBlank(endTime), OrderConsultOne::getCreateTime, endTime) |