This commit is contained in:
zt
2025-01-02 11:58:17 +08:00
parent 10d4be9be3
commit c80b367fdd
8 changed files with 37 additions and 16 deletions

View File

@ -203,8 +203,8 @@ public class ScreenController {
@GetMapping("/selectDishSale") @GetMapping("/selectDishSale")
@Operation(summary = "菜品销量") @Operation(summary = "菜品销量")
@PermitAll @PermitAll
public CommonResult<List<DishVO>> selectDishSale(Long storeId,String startTime,String endTime) { public CommonResult<List<DishVO>> selectDishSale(Long storeId,String startTime,String endTime,Integer type) {
return success(orderDetailService.selectDishSale(storeId,startTime,endTime)); return success(orderDetailService.selectDishSale(storeId,startTime,endTime,type));
} }
@GetMapping("/storeTurnover") @GetMapping("/storeTurnover")
@ -225,7 +225,7 @@ public class ScreenController {
@GetMapping("/selectGoodsSale") @GetMapping("/selectGoodsSale")
@Operation(summary = "商品销量") @Operation(summary = "商品销量")
@PermitAll @PermitAll
public CommonResult<List<GoodsVO>> selectGoodsSale(Long storeId,String startTime,String endTime) { public CommonResult<List<GoodsVO>> selectGoodsSale(Long storeId,String startTime,String endTime,Integer type) {
return success(storeOrderDetailService.selectGoodsSale(storeId,startTime,endTime)); return success(storeOrderDetailService.selectGoodsSale(storeId,startTime,endTime,type));
} }
} }

View File

@ -31,6 +31,7 @@ public interface OrderDetailMapper extends BaseMapperX<OrderDetailDO> {
.orderByDesc(OrderDetailDO::getId)); .orderByDesc(OrderDetailDO::getId));
} }
List<DishVO> selectDishSale(@Param("storeId") Long storeId, @Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime); List<DishVO> selectDishSale(@Param("storeId") Long storeId, @Param("startTime") LocalDateTime startTime
,@Param("endTime") LocalDateTime endTime,@Param("type")Integer type);
} }

View File

@ -36,9 +36,20 @@ public interface StoreOrderDetailMapper extends BaseMapperX<StoreOrderDetailDO>
@Select("select od.custom_price,od.number,od.weight,od.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}") @Select("select od.custom_price,od.number,od.weight,od.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}")
List<AppStoreOrderDetailVo> selectByOrderId(Integer orderId); List<AppStoreOrderDetailVo> selectByOrderId(Integer orderId);
@Select("select od.goods_name,sum(od.number) as `number`,sum(od.number*od.custom_price) as price from member_store_order_detail od\n" + @Select("<script>" +
" left join member_store_order so on od.order_id = so.order_id\n" + "select od.goods_name,sum(od.number) as `number`,sum(od.number*od.custom_price) as price from member_store_order_detail od\n" +
" where so.carteen_id = #{storeId} and od.create_time BETWEEN #{startTime} AND #{endTime}\n" + "left join member_store_order so on od.order_id = so.order_id\n" +
" group by od.goods_name") "where so.carteen_id = #{storeId} and od.create_time BETWEEN #{startTime} AND #{endTime}\n" +
List<GoodsVO> selectGoodsSale(@Param("storeId") Long storeId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); "<if test='type == 1'>" +
" AND DATE_FORMAT(od.create_time, '%H:%i:%s') BETWEEN '00:00:00' AND '09:59:59' " +
"</if>" +
"<if test='type == 2'>" +
" AND DATE_FORMAT(od.create_time, '%H:%i:%s') BETWEEN '10:00:00' AND '15:59:59' " +
"</if>" +
"<if test='type == 3'>" +
" AND DATE_FORMAT(od.create_time, '%H:%i:%s') BETWEEN '16:00:00' AND '23:59:59' " +
"</if>" +
"group by od.goods_name" +
"</script>")
List<GoodsVO> selectGoodsSale(@Param("storeId") Long storeId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("type") Integer type);
} }

View File

@ -60,7 +60,7 @@ public interface OrderDetailService {
List<OrderDetailDO> selectListByOrderIds(List<Long> orderIds); List<OrderDetailDO> selectListByOrderIds(List<Long> orderIds);
List<DishVO> selectDishSale(Long storeId, String startTime, String endTime); List<DishVO> selectDishSale(Long storeId, String startTime, String endTime,Integer type);
void insertOne(OrderDetailDO orderDetailDO); void insertOne(OrderDetailDO orderDetailDO);
} }

View File

@ -159,10 +159,10 @@ public class OrderDetailServiceImpl implements OrderDetailService {
} }
@Override @Override
public List<DishVO> selectDishSale(Long storeId, String startTime, String endTime) { public List<DishVO> selectDishSale(Long storeId, String startTime, String endTime, Integer type) {
LocalDateTime start = MemberTimeUtils.string2Time(startTime); LocalDateTime start = MemberTimeUtils.string2Time(startTime);
LocalDateTime end = MemberTimeUtils.string2Time(endTime); LocalDateTime end = MemberTimeUtils.string2Time(endTime);
return orderDetailMapper.selectDishSale(storeId, start, end); return orderDetailMapper.selectDishSale(storeId, start, end,type);
} }
@Override @Override

View File

@ -64,6 +64,6 @@ public interface StoreOrderDetailService {
List<StoreOrderDetailDO> getListByOrderId(Integer orderId); List<StoreOrderDetailDO> getListByOrderId(Integer orderId);
List<GoodsVO> selectGoodsSale(Long storeId, String startTime, String endTime); List<GoodsVO> selectGoodsSale(Long storeId, String startTime, String endTime,Integer type);
} }

View File

@ -97,9 +97,9 @@ public class StoreOrderDetailServiceImpl implements StoreOrderDetailService {
} }
@Override @Override
public List<GoodsVO> selectGoodsSale(Long storeId, String startTime, String endTime) { public List<GoodsVO> selectGoodsSale(Long storeId, String startTime, String endTime,Integer type) {
LocalDateTime start = MemberTimeUtils.string2Time(startTime); LocalDateTime start = MemberTimeUtils.string2Time(startTime);
LocalDateTime end = MemberTimeUtils.string2Time(endTime); LocalDateTime end = MemberTimeUtils.string2Time(endTime);
return storeOrderDetailMapper.selectGoodsSale(storeId, start, end); return storeOrderDetailMapper.selectGoodsSale(storeId, start, end,type);
} }
} }

View File

@ -12,6 +12,15 @@
select od.dishes_name,sum(od.weight) as weight,sum(od.price) as price from member_order_detail od select od.dishes_name,sum(od.weight) as weight,sum(od.price) as price from member_order_detail od
left join member_dish_order mo on od.order_id = mo.id left join member_dish_order mo on od.order_id = mo.id
where store_id = #{storeId} and od.create_time between #{startTime} and #{endTime} where store_id = #{storeId} and od.create_time between #{startTime} and #{endTime}
<if test="type ==1">
and DATE_FORMAT(od.create_time, '%H:%i:%s') between '00:00:00' and '09:59:59'
</if>
<if test="type ==2">
and DATE_FORMAT(od.create_time, '%H:%i:%s') between '10:00:00' and '15:59:59'
</if>
<if test="type ==3">
and DATE_FORMAT(od.create_time, '%H:%i:%s') between '16:00:00' and '23:59:59'
</if>
group by dishes_name group by dishes_name
</select> </select>