feat(新增-商品管理): 订单数据统计
Signed-off-by: bunny <1319900154@qq.com>
This commit is contained in:
parent
e0115dbf30
commit
8f3ff6e9a3
|
@ -0,0 +1,16 @@
|
|||
package com.atguigu.spzx.manger.mapper;
|
||||
|
||||
import com.atguigu.spzx.model.entity.order.OrderStatistics;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface OrderInfoMapper {
|
||||
|
||||
/**
|
||||
* 查询指定日期产生的订单数据
|
||||
*
|
||||
* @param createTime 创建时间
|
||||
* @return OrderStatistics
|
||||
*/
|
||||
OrderStatistics selectOrderStatistics(String createTime);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.atguigu.spzx.manger.mapper;
|
||||
|
||||
import com.atguigu.spzx.model.entity.order.OrderStatistics;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface OrderStatisticsMapper {
|
||||
/**
|
||||
* 插入
|
||||
*
|
||||
* @param orderStatistics 订单
|
||||
*/
|
||||
void insert(OrderStatistics orderStatistics);
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package com.atguigu.spzx.manger.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.atguigu.spzx.manger.mapper.OrderInfoMapper;
|
||||
import com.atguigu.spzx.manger.mapper.OrderStatisticsMapper;
|
||||
import com.atguigu.spzx.model.entity.order.OrderStatistics;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class OrderStatisticsTask {
|
||||
@Autowired
|
||||
private OrderInfoMapper orderInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private OrderStatisticsMapper orderStatisticsMapper;
|
||||
|
||||
@Scheduled(cron = "0 0 2 * * ?")
|
||||
public void orderTotalAmountStatistics() {
|
||||
String createTime = DateUtil.offsetDay(new Date(), -1).toString(new SimpleDateFormat("yyyy-MM-dd"));
|
||||
OrderStatistics orderStatistics = orderInfoMapper.selectOrderStatistics(createTime);
|
||||
if (orderStatistics != null) {
|
||||
orderStatisticsMapper.insert(orderStatistics);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.atguigu.spzx.manger.mapper.OrderInfoMapper">
|
||||
|
||||
|
||||
<!-- 查询指定日期产生的订单数据 -->
|
||||
<select id="selectOrderStatistics" resultType="com.atguigu.spzx.model.entity.order.OrderStatistics">
|
||||
select DATE_FORMAT(oi.create_time, '%Y-%m-%d') orderDate,
|
||||
sum(oi.total_amount) totalAmount,
|
||||
count(oi.id) totalNum
|
||||
from order_info oi
|
||||
where DATE_FORMAT(oi.create_time, '%Y-%m-%d') = #{createTime}
|
||||
GROUP BY DATE_FORMAT(oi.create_time, '%Y-%m-%d')
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.atguigu.spzx.manger.mapper.OrderStatisticsMapper">
|
||||
<!-- 用于select查询公用抽取的列 -->
|
||||
<sql id="columns">
|
||||
id,order_date,total_amount,total_num,create_time,update_time,is_deleted
|
||||
</sql>
|
||||
|
||||
<!-- 插入 -->
|
||||
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into order_statistics (id, order_date, total_amount, total_num)
|
||||
values (#{id}, #{orderDate}, #{totalAmount}, #{totalNum})
|
||||
</insert>
|
||||
</mapper>
|
|
@ -2,15 +2,15 @@ package com.atguigu.spzx.model.entity.order;
|
|||
|
||||
import com.atguigu.spzx.model.entity.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class OrderStatistics extends BaseEntity {
|
||||
|
||||
private Date orderDate;
|
||||
private BigDecimal totalAmount;
|
||||
private Integer totalNum;
|
||||
|
||||
}
|
Loading…
Reference in New Issue