统计查询

This commit is contained in:
bunny 2023-12-16 22:38:21 +08:00
parent d56bd40acc
commit 6e18ab8df8
9 changed files with 598 additions and 487 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,10 @@
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,com.github.pagehelper.page.PageMethod,startPage" />
</inspection_tool>
<inspection_tool class="IgnoreResultOfCall" enabled="false" level="WARNING" enabled_by_default="false">
<option name="m_reportAllNonLibraryCalls" value="false" />
<option name="callCheckString" value="java.io.File,.*,java.io.InputStream,read|skip|available|markSupported,java.io.Reader,read|skip|ready|markSupported,java.lang.AbstractStringBuilder,capacity|codePointAt|codePointBefore|codePointCount|indexOf|lastIndexOf|offsetByCodePoints|substring|subSequence,java.lang.Boolean,.*,java.lang.Byte,.*,java.lang.Character,.*,java.lang.Double,.*,java.lang.Float,.*,java.lang.Integer,.*,java.lang.Long,.*,java.lang.Math,.*,java.lang.Object,equals|hashCode|toString,java.lang.Short,.*,java.lang.StrictMath,.*,java.lang.String,.*,java.lang.Thread,interrupted,java.math.BigDecimal,.*,java.math.BigInteger,.*,java.net.InetAddress,.*,java.net.URI,.*,java.nio.channels.AsynchronousChannelGroup,.*,java.nio.channels.Channel,isOpen,java.nio.channels.FileChannel,open|map|lock|tryLock|write,java.nio.channels.ScatteringByteChannel,read,java.nio.channels.SocketChannel,open|socket|isConnected|isConnectionPending,java.util.Arrays,.*,java.util.Collections,(?!addAll).*,java.util.List,of,java.util.Map,of|ofEntries|entry,java.util.Set,of,java.util.UUID,.*,java.util.concurrent.BlockingQueue,offer|remove,java.util.concurrent.CountDownLatch,await|getCount,java.util.concurrent.ExecutorService,awaitTermination|isShutdown|isTerminated,java.util.concurrent.ForkJoinPool,awaitQuiescence,java.util.concurrent.Semaphore,tryAcquire|availablePermits|isFair|hasQueuedThreads|getQueueLength|getQueuedThreads,java.util.concurrent.locks.Condition,await|awaitNanos|awaitUntil,java.util.concurrent.locks.Lock,tryLock|newCondition,java.util.regex.Matcher,pattern|toMatchResult|start|end|group|groupCount|matches|find|lookingAt|quoteReplacement|replaceAll|replaceFirst|regionStart|regionEnd|hasTransparentBounds|hasAnchoringBounds|hitEnd|requireEnd,java.util.regex.Pattern,.*,java.util.stream.BaseStream,.*,java.util.stream.DoubleStream,.*,java.util.stream.IntStream,.*,java.util.stream.LongStream,.*,java.util.stream.Stream,.*" />
</inspection_tool>
<inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>

View File

@ -4,13 +4,15 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="94fab532-0084-41f1-bb0f-d2d2811915a7" name="Changes" comment="商品管理完成">
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/mapper/OrderInfoMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/mapper/OrderStatisticsMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/task/OrderStatisticsTask.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/resources/mapper/order/OrderInfoMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/resources/mapper/order/OrderStatisticsMapper.xml" afterDir="false" />
<list default="true" id="94fab532-0084-41f1-bb0f-d2d2811915a7" name="Changes" comment="订单数据统计-每天两点统计-定时任务">
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/controller/OrderInfoController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/service/OrderInfoService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/service/impl/OrderInfoServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/mapper/OrderStatisticsMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/spzx-manager/src/main/java/cn/bunny/mapper/OrderStatisticsMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/spzx-manager/src/main/resources/mapper/order/OrderStatisticsMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/spzx-manager/src/main/resources/mapper/order/OrderStatisticsMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/spzx-model/src/main/java/cn/bunny/common/spzx/model/dto/order/OrderStatisticsDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/spzx-model/src/main/java/cn/bunny/common/spzx/model/dto/order/OrderStatisticsDto.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -20,9 +22,9 @@
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Mybatis" />
<option value="Interface" />
<option value="Class" />
<option value="Mybatis" />
</list>
</option>
</component>
@ -111,7 +113,7 @@
<option name="presentableId" value="Default" />
<updated>1702710124940</updated>
<workItem from="1702710126987" duration="661000" />
<workItem from="1702713203759" duration="15273000" />
<workItem from="1702713203759" duration="17069000" />
</task>
<task id="LOCAL-00001" summary="商品管理查询分页">
<option name="closed" value="true" />
@ -137,7 +139,15 @@
<option name="project" value="LOCAL" />
<updated>1702731251043</updated>
</task>
<option name="localTasksCounter" value="4" />
<task id="LOCAL-00004" summary="订单数据统计-每天两点统计-定时任务">
<option name="closed" value="true" />
<created>1702735339646</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1702735339646</updated>
</task>
<option name="localTasksCounter" value="5" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -147,7 +157,8 @@
<MESSAGE value="商品管理查询分页" />
<MESSAGE value="商品管理添加删除" />
<MESSAGE value="商品管理完成" />
<option name="LAST_COMMIT_MESSAGE" value="商品管理完成" />
<MESSAGE value="订单数据统计-每天两点统计-定时任务" />
<option name="LAST_COMMIT_MESSAGE" value="订单数据统计-每天两点统计-定时任务" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>

View File

@ -0,0 +1,29 @@
package cn.bunny.controller;
import cn.bunny.common.spzx.model.dto.order.OrderStatisticsDto;
import cn.bunny.common.spzx.model.vo.common.Result;
import cn.bunny.common.spzx.model.vo.common.ResultCodeEnum;
import cn.bunny.common.spzx.model.vo.order.OrderStatisticsVo;
import cn.bunny.service.OrderInfoService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Tag(name = "统计查询")
@RestController
@RequestMapping("/admin/order/orderInfo")
public class OrderInfoController {
@Autowired
private OrderInfoService orderInfoService;
@Operation(summary = "统计查询", description = "统计查询")
@GetMapping("getOrderStatisticsData")
public Result getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto) {
OrderStatisticsVo orderStatisticsVo = orderInfoService.getOrderStatisticsData(orderStatisticsDto);
return Result.build(orderStatisticsVo, ResultCodeEnum.SUCCESS);
}
}

View File

@ -1,10 +1,16 @@
package cn.bunny.mapper;
import cn.bunny.common.spzx.model.dto.order.OrderStatisticsDto;
import cn.bunny.common.spzx.model.entity.order.OrderStatistics;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OrderStatisticsMapper {
// 将统计结果保存到数据库
void insert(OrderStatistics orderStatistics);
// 统计查询
List<OrderStatistics> selectList(OrderStatisticsDto orderStatisticsDto);
}

View File

@ -0,0 +1,9 @@
package cn.bunny.service;
import cn.bunny.common.spzx.model.dto.order.OrderStatisticsDto;
import cn.bunny.common.spzx.model.vo.order.OrderStatisticsVo;
public interface OrderInfoService {
// 统计查询
OrderStatisticsVo getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto);
}

View File

@ -0,0 +1,37 @@
package cn.bunny.service.impl;
import cn.bunny.common.spzx.model.dto.order.OrderStatisticsDto;
import cn.bunny.common.spzx.model.entity.order.OrderStatistics;
import cn.bunny.common.spzx.model.vo.order.OrderStatisticsVo;
import cn.bunny.mapper.OrderStatisticsMapper;
import cn.bunny.service.OrderInfoService;
import cn.hutool.core.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
public class OrderInfoServiceImpl implements OrderInfoService {
@Autowired
private OrderStatisticsMapper orderStatisticsMapper;
// 统计查询
@Override
public OrderStatisticsVo getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto) {
List<OrderStatistics> orderStatisticsList = orderStatisticsMapper.selectList(orderStatisticsDto);
List<String> dateList = orderStatisticsList.stream().map(OrderStatistics -> DateUtil.format(OrderStatistics.getOrderDate(), "yyyy-MM-dd")).toList();
List<BigDecimal> decimalList = orderStatisticsList.stream().map(OrderStatistics::getTotalAmount).toList();
OrderStatisticsVo orderStatisticsVo = new OrderStatisticsVo();
orderStatisticsVo.setDateList(dateList);
orderStatisticsVo.setAmountList(decimalList);
return orderStatisticsVo;
}
}

View File

@ -18,4 +18,19 @@
#{totalAmount},
#{totalNum})
</insert>
<!-- 统计查询 -->
<select id="selectList" resultType="cn.bunny.common.spzx.model.entity.order.OrderStatistics">
select <include refid="columns" />
from order_statistics
<where>
<if test="createTimeBegin != null and createTimeBegin != ''">
and order_date >= #{createTimeBegin}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''">
and order_date &lt;= #{createTimeEnd}
</if>
</where>
order by order_date
</select>
</mapper>