获取订单评价数量

This commit is contained in:
sxu 2025-02-19 18:39:36 +08:00
parent 3d74f5a8b9
commit 8c29099148
6 changed files with 85 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.core.common.page.PageVO; import com.bonus.core.common.page.PageVO;
import com.bonus.core.menu.dto.MenuEvaluaOrderAddDTO; import com.bonus.core.menu.dto.MenuEvaluaOrderAddDTO;
import com.bonus.core.menu.dto.MenuEvaluaOrderPageDTO; import com.bonus.core.menu.dto.MenuEvaluaOrderPageDTO;
import com.bonus.core.menu.dto.OrderEvaluaCountDto;
import com.bonus.core.menu.service.MenuEvaluaOrderService; import com.bonus.core.menu.service.MenuEvaluaOrderService;
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO; import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO;
import com.bonus.core.menu.vo.MenuEvaluateOrderPageVO; import com.bonus.core.menu.vo.MenuEvaluateOrderPageVO;
@ -52,4 +53,10 @@ public class MenuEvaluaOrderController {
public PageVO<MenuEvaluateOrderPageVO> getMenuEvaluateOrderPagePc(@RequestBody MenuEvaluaOrderPageDTO request) { public PageVO<MenuEvaluateOrderPageVO> getMenuEvaluateOrderPagePc(@RequestBody MenuEvaluaOrderPageDTO request) {
return this.menuEvaluaOrderService.getMenuEvaluateOrderPagePc(request); return this.menuEvaluaOrderService.getMenuEvaluateOrderPagePc(request);
} }
@PostMapping({"/evaluate/count"})
@ApiOperation("获取订单评价数量")
public OrderEvaluaCountDto getCustCount(@RequestBody Long dishesId) {
return this.menuEvaluaOrderService.getHaveImageCount(dishesId);
}
} }

View File

@ -0,0 +1,26 @@
package com.bonus.core.menu.dto;
import io.swagger.annotations.ApiModelProperty;
public class OrderEvaluaCountDto {
@ApiModelProperty("总共数量")
private Integer totalCount;
@ApiModelProperty("有图数量")
private Integer imageCount;
public Integer getTotalCount() {
return this.totalCount;
}
public Integer getImageCount() {
return this.imageCount;
}
public void setTotalCount(final Integer totalCount) {
this.totalCount = totalCount;
}
public void setImageCount(final Integer imageCount) {
this.imageCount = imageCount;
}
}

View File

@ -20,4 +20,8 @@ public interface MenuEvaluaOrderMapper extends BaseMapper<MenuEvaluaOrder> {
MenuEvaluaMealVO selectAvgByMealAndShop(@Param("mealId") Long mealId, @Param("mealType") Integer mealType, @Param("shopstallId") Long shopstallId, @Param("delFlag") Integer delFlag); MenuEvaluaMealVO selectAvgByMealAndShop(@Param("mealId") Long mealId, @Param("mealType") Integer mealType, @Param("shopstallId") Long shopstallId, @Param("delFlag") Integer delFlag);
List<MenuEvaluateOrderPageVO> selectEvaluatePagePc(@Param("content") MenuEvaluaOrderPageDTO content); List<MenuEvaluateOrderPageVO> selectEvaluatePagePc(@Param("content") MenuEvaluaOrderPageDTO content);
Integer selectHaveImageCount(Long dishesId);
Integer selectAllCount(Long dishesId);
} }

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.bonus.core.common.page.PageVO; import com.bonus.core.common.page.PageVO;
import com.bonus.core.menu.dto.MenuEvaluaOrderAddDTO; import com.bonus.core.menu.dto.MenuEvaluaOrderAddDTO;
import com.bonus.core.menu.dto.MenuEvaluaOrderPageDTO; import com.bonus.core.menu.dto.MenuEvaluaOrderPageDTO;
import com.bonus.core.menu.dto.OrderEvaluaCountDto;
import com.bonus.core.menu.entity.MenuEvaluaOrder; import com.bonus.core.menu.entity.MenuEvaluaOrder;
import com.bonus.core.menu.vo.MenuEvaluaMealVO; import com.bonus.core.menu.vo.MenuEvaluaMealVO;
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO; import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO;
@ -16,4 +17,6 @@ public interface MenuEvaluaOrderService extends IService<MenuEvaluaOrder> {
MenuEvaluaMealVO getMenuEvaluaOrderPageByMeal(MenuEvaluaOrderPageMealDTO content); MenuEvaluaMealVO getMenuEvaluaOrderPageByMeal(MenuEvaluaOrderPageMealDTO content);
PageVO<MenuEvaluateOrderPageVO> getMenuEvaluateOrderPagePc(MenuEvaluaOrderPageDTO content); PageVO<MenuEvaluateOrderPageVO> getMenuEvaluateOrderPagePc(MenuEvaluaOrderPageDTO content);
OrderEvaluaCountDto getHaveImageCount(Long content);
} }

View File

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.constant.DelFlagEnum; import com.bonus.constant.DelFlagEnum;
import com.bonus.core.common.page.PageVO; import com.bonus.core.common.page.PageVO;
import com.bonus.core.menu.dto.OrderEvaluaCountDto;
import com.bonus.core.menu.entity.MenuEvaluaOrder; import com.bonus.core.menu.entity.MenuEvaluaOrder;
import com.bonus.core.menu.mapper.MenuEvaluaOrderMapper; import com.bonus.core.menu.mapper.MenuEvaluaOrderMapper;
import com.bonus.core.menu.mapper.MenuEvaluaPictureMapper; import com.bonus.core.menu.mapper.MenuEvaluaPictureMapper;
@ -234,4 +235,14 @@ public class MenuEvaluaOrderServiceImpl extends ServiceImpl<MenuEvaluaOrderMappe
return PageVO.of(menuEvaluateOrderPageVOS); return PageVO.of(menuEvaluateOrderPageVOS);
} }
} }
public OrderEvaluaCountDto getHaveImageCount(Long dishesId) {
OrderEvaluaCountDto orderEvaluaCountDto = new OrderEvaluaCountDto();
Integer haveImage = ((MenuEvaluaOrderMapper)this.baseMapper).selectHaveImageCount(dishesId);
Integer allCount = ((MenuEvaluaOrderMapper)this.baseMapper).selectAllCount(dishesId);
orderEvaluaCountDto.setImageCount(haveImage);
orderEvaluaCountDto.setTotalCount(allCount);
return orderEvaluaCountDto;
}
} }

View File

@ -132,4 +132,38 @@
meo.crtime desc meo.crtime desc
</select> </select>
<select id="selectHaveImageCount" resultType="java.lang.Integer">
SELECT
COUNT( DISTINCT med.evalua_id )
FROM
menu_evalua_detail med
LEFT JOIN menu_dishes md on med.meal_id = md.dishes_id
LEFT JOIN menu_evalua_order meo ON med.evalua_id = meo.evalua_id
left join menu_material mm on mm.material_id=med.meal_id
WHERE
(md.base_dishes_id = #{dishesId} or mm.material_id=#{dishesId})
AND meo.show_flag = 1
AND meo.del_flag = 2
AND EXISTS (
SELECT NULL
FROM
menu_evalua_picture mep
WHERE
mep.evalua_id = med.evalua_id
)
</select>
<select id="selectAllCount" resultType="java.lang.Integer">
SELECT
COUNT( DISTINCT med.evalua_id )
FROM
menu_evalua_detail med
left JOIN menu_dishes md on med.meal_id = md.dishes_id
left JOIN menu_evalua_order meo ON med.evalua_id = meo.evalua_id
left join menu_material mm on mm.material_id=med.meal_id
WHERE
(md.base_dishes_id = #{dishesId} or mm.material_id=#{dishesId})
AND meo.show_flag = 1
AND meo.del_flag = 2
</select>
</mapper> </mapper>