获取指定餐品的评价列表 api/v1/applet/menuevaluaorder/page/meal
This commit is contained in:
parent
04041627f5
commit
fca5072fac
|
|
@ -35,4 +35,6 @@ public class CustInfoAppIdLoginVO implements Serializable {
|
||||||
private Long expireIn;
|
private Long expireIn;
|
||||||
@ApiModelProperty("是否登录")
|
@ApiModelProperty("是否登录")
|
||||||
private boolean isLogin;
|
private boolean isLogin;
|
||||||
|
@ApiModelProperty("人员id")
|
||||||
|
private String custIdStr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.bonus.framework.annotation;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface RequiresGuest {
|
||||||
|
}
|
||||||
|
|
@ -138,6 +138,7 @@ public class TokenController {
|
||||||
custInfo.setIdCard(SM4EncryptUtils.sm4Encryptbyconfig(content.getIdCard()));
|
custInfo.setIdCard(SM4EncryptUtils.sm4Encryptbyconfig(content.getIdCard()));
|
||||||
}
|
}
|
||||||
CustInfoAppIdLoginVO result = this.custInfoMapper.selectLoginInfo(custInfo);
|
CustInfoAppIdLoginVO result = this.custInfoMapper.selectLoginInfo(custInfo);
|
||||||
|
result.setCustIdStr(result.getCustId().toString());
|
||||||
if (Objects.isNull(result)) {
|
if (Objects.isNull(result)) {
|
||||||
throw new ServiceException("未找到用户");
|
throw new ServiceException("未找到用户");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.bonus.core.menu.controller;
|
||||||
|
|
||||||
|
import com.bonus.common.core.utils.StringUtils;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.core.menu.service.MenuEvaluaOrderService;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO;
|
||||||
|
import com.bonus.framework.annotation.RequiresGuest;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping({"/api/v1/applet/menuevaluaorder"})
|
||||||
|
@Api(
|
||||||
|
value = "menuevaluaorder",
|
||||||
|
tags = {"pfy_订单评价"}
|
||||||
|
)
|
||||||
|
public class MenuEvaluaOrderController {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(MenuEvaluaOrderController.class);
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private MenuEvaluaOrderService menuEvaluaOrderService;
|
||||||
|
|
||||||
|
@PostMapping({"/page/meal"})
|
||||||
|
@RequiresGuest
|
||||||
|
@ApiOperation("获取指定餐品的评价列表")
|
||||||
|
public AjaxResult getMenuEvaluaOrderPageByMeal(@RequestBody @Valid MenuEvaluaOrderPageMealDTO dto) {
|
||||||
|
try {
|
||||||
|
if (StringUtils.isBlank(String.valueOf(dto.getMealId()))) {
|
||||||
|
return AjaxResult.error("餐品ID不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(String.valueOf(dto.getCurrent()))) {
|
||||||
|
return AjaxResult.error("页码不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(String.valueOf(dto.getSize()))) {
|
||||||
|
return AjaxResult.error("每页数量不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(String.valueOf(dto.getShopstallId()))) {
|
||||||
|
return AjaxResult.error("档口ID不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(String.valueOf(dto.getMealType()))){
|
||||||
|
return AjaxResult.error("餐品类型不能为空");
|
||||||
|
}
|
||||||
|
return AjaxResult.success(this.menuEvaluaOrderService.getMenuEvaluaOrderPageByMeal(dto));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.toString(), e);
|
||||||
|
return AjaxResult.error("获取指定餐品的评价列表失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,174 @@
|
||||||
|
package com.bonus.core.menu.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@TableName("menu_evalua_order")
|
||||||
|
public class MenuEvaluaOrder extends Model<MenuEvaluaOrder> {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@TableId
|
||||||
|
@ApiModelProperty("主键id")
|
||||||
|
private Long id;
|
||||||
|
@ApiModelProperty("评价id")
|
||||||
|
private Long evaluaId;
|
||||||
|
@ApiModelProperty("评价订单类型1食堂订单2商超订单")
|
||||||
|
private Integer orderEvaluaType;
|
||||||
|
@ApiModelProperty("订单编号")
|
||||||
|
private Long ordId;
|
||||||
|
@ApiModelProperty("星级")
|
||||||
|
private Integer starLevel;
|
||||||
|
@ApiModelProperty("描述")
|
||||||
|
private String description;
|
||||||
|
@ApiModelProperty("评价回复")
|
||||||
|
private String reply;
|
||||||
|
@ApiModelProperty("评价回复时间")
|
||||||
|
private LocalDateTime replyTime;
|
||||||
|
@ApiModelProperty("档口或店铺id")
|
||||||
|
private Long shopstallId;
|
||||||
|
@ApiModelProperty("是否显示(1-显示,2-不显示)")
|
||||||
|
private Integer showFlag;
|
||||||
|
@ApiModelProperty("删除标识(1删除,2正常)")
|
||||||
|
private Integer delFlag;
|
||||||
|
@ApiModelProperty("乐观锁")
|
||||||
|
private Integer revision;
|
||||||
|
@ApiModelProperty("创建人")
|
||||||
|
private String crby;
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private LocalDateTime crtime;
|
||||||
|
@ApiModelProperty("更新人")
|
||||||
|
private String upby;
|
||||||
|
@ApiModelProperty("更新时间")
|
||||||
|
private LocalDateTime uptime;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getEvaluaId() {
|
||||||
|
return this.evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getOrderEvaluaType() {
|
||||||
|
return this.orderEvaluaType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getOrdId() {
|
||||||
|
return this.ordId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStarLevel() {
|
||||||
|
return this.starLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return this.description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReply() {
|
||||||
|
return this.reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getReplyTime() {
|
||||||
|
return this.replyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getShopstallId() {
|
||||||
|
return this.shopstallId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getShowFlag() {
|
||||||
|
return this.showFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDelFlag() {
|
||||||
|
return this.delFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getRevision() {
|
||||||
|
return this.revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCrby() {
|
||||||
|
return this.crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getCrtime() {
|
||||||
|
return this.crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpby() {
|
||||||
|
return this.upby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getUptime() {
|
||||||
|
return this.uptime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(final Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEvaluaId(final Long evaluaId) {
|
||||||
|
this.evaluaId = evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderEvaluaType(final Integer orderEvaluaType) {
|
||||||
|
this.orderEvaluaType = orderEvaluaType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrdId(final Long ordId) {
|
||||||
|
this.ordId = ordId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStarLevel(final Integer starLevel) {
|
||||||
|
this.starLevel = starLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(final String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReply(final String reply) {
|
||||||
|
this.reply = reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReplyTime(final LocalDateTime replyTime) {
|
||||||
|
this.replyTime = replyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShopstallId(final Long shopstallId) {
|
||||||
|
this.shopstallId = shopstallId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowFlag(final Integer showFlag) {
|
||||||
|
this.showFlag = showFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDelFlag(final Integer delFlag) {
|
||||||
|
this.delFlag = delFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRevision(final Integer revision) {
|
||||||
|
this.revision = revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrby(final String crby) {
|
||||||
|
this.crby = crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrtime(final LocalDateTime crtime) {
|
||||||
|
this.crtime = crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpby(final String upby) {
|
||||||
|
this.upby = upby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUptime(final LocalDateTime uptime) {
|
||||||
|
this.uptime = uptime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
package com.bonus.core.menu.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@TableName("menu_evalua_picture")
|
||||||
|
public class MenuEvaluaPicture extends Model<MenuEvaluaPicture> {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@TableId
|
||||||
|
@ApiModelProperty("主键id")
|
||||||
|
private Long id;
|
||||||
|
@ApiModelProperty("评价id")
|
||||||
|
private Long evaluaId;
|
||||||
|
@ApiModelProperty("图片路径")
|
||||||
|
private String pictureUrl;
|
||||||
|
@ApiModelProperty("乐观锁")
|
||||||
|
private Integer revision;
|
||||||
|
@ApiModelProperty("创建人")
|
||||||
|
private String crby;
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private LocalDateTime crtime;
|
||||||
|
@ApiModelProperty("更新人")
|
||||||
|
private String upby;
|
||||||
|
@ApiModelProperty("更新时间")
|
||||||
|
private LocalDateTime uptime;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getEvaluaId() {
|
||||||
|
return this.evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPictureUrl() {
|
||||||
|
return this.pictureUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getRevision() {
|
||||||
|
return this.revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCrby() {
|
||||||
|
return this.crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getCrtime() {
|
||||||
|
return this.crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpby() {
|
||||||
|
return this.upby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getUptime() {
|
||||||
|
return this.uptime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(final Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEvaluaId(final Long evaluaId) {
|
||||||
|
this.evaluaId = evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPictureUrl(final String pictureUrl) {
|
||||||
|
this.pictureUrl = pictureUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRevision(final Integer revision) {
|
||||||
|
this.revision = revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrby(final String crby) {
|
||||||
|
this.crby = crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrtime(final LocalDateTime crtime) {
|
||||||
|
this.crtime = crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpby(final String upby) {
|
||||||
|
this.upby = upby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUptime(final LocalDateTime uptime) {
|
||||||
|
this.uptime = uptime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.bonus.core.menu.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.bonus.core.menu.entity.MenuEvaluaOrder;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaMealVO;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealVO;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface MenuEvaluaOrderMapper extends BaseMapper<MenuEvaluaOrder> {
|
||||||
|
|
||||||
|
Page<MenuEvaluaOrderPageMealVO> selectAllListByMeal(Page<MenuEvaluaOrderPageMealVO> page, @Param("mealId") Long mealId, @Param("shopstallId") Long shopstallId, @Param("searchType") Integer searchType);
|
||||||
|
|
||||||
|
MenuEvaluaMealVO selectAvgByMealAndShop(@Param("mealId") Long mealId, @Param("mealType") Integer mealType, @Param("shopstallId") Long shopstallId, @Param("delFlag") Integer delFlag);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.bonus.core.menu.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.bonus.core.menu.entity.MenuEvaluaPicture;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface MenuEvaluaPictureMapper extends BaseMapper<MenuEvaluaPicture> {
|
||||||
|
@Select({"select picture_url from menu_evalua_picture where evalua_id = #{evaluaId}"})
|
||||||
|
List<String> selectPictureByEvaluaId(@Param("evaluaId") Long evaluaId);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.bonus.core.menu.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.bonus.core.menu.entity.MenuEvaluaOrder;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaMealVO;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO;
|
||||||
|
|
||||||
|
public interface MenuEvaluaOrderService extends IService<MenuEvaluaOrder> {
|
||||||
|
|
||||||
|
MenuEvaluaMealVO getMenuEvaluaOrderPageByMeal(MenuEvaluaOrderPageMealDTO content);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.bonus.core.menu.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.bonus.constant.DelFlagEnum;
|
||||||
|
import com.bonus.core.menu.entity.MenuEvaluaOrder;
|
||||||
|
import com.bonus.core.menu.mapper.MenuEvaluaOrderMapper;
|
||||||
|
import com.bonus.core.menu.mapper.MenuEvaluaPictureMapper;
|
||||||
|
import com.bonus.core.menu.service.MenuEvaluaOrderService;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaMealVO;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealDTO;
|
||||||
|
import com.bonus.core.menu.vo.MenuEvaluaOrderPageMealVO;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MenuEvaluaOrderServiceImpl extends ServiceImpl<MenuEvaluaOrderMapper, MenuEvaluaOrder> implements MenuEvaluaOrderService {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(MenuEvaluaOrderServiceImpl.class);
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private MenuEvaluaPictureMapper menuEvaluaPictureMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MenuEvaluaMealVO getMenuEvaluaOrderPageByMeal(MenuEvaluaOrderPageMealDTO content) {
|
||||||
|
Page<MenuEvaluaOrderPageMealVO> page = new Page(content.getCurrent(), content.getSize());
|
||||||
|
Page<MenuEvaluaOrderPageMealVO> evaluaList = ((MenuEvaluaOrderMapper)this.baseMapper).selectAllListByMeal(page, content.getMealId(), content.getShopstallId(), content.getSearchType());
|
||||||
|
List<MenuEvaluaOrderPageMealVO> records = evaluaList.getRecords();
|
||||||
|
if (CollUtil.isNotEmpty(records)) {
|
||||||
|
Iterator var5 = records.iterator();
|
||||||
|
|
||||||
|
while(var5.hasNext()) {
|
||||||
|
MenuEvaluaOrderPageMealVO item = (MenuEvaluaOrderPageMealVO)var5.next();
|
||||||
|
Long evaluaId = item.getEvaluaId();
|
||||||
|
List<String> pictureList = this.menuEvaluaPictureMapper.selectPictureByEvaluaId(evaluaId);
|
||||||
|
item.setPictureList(pictureList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuEvaluaMealVO result = ((MenuEvaluaOrderMapper)this.baseMapper).selectAvgByMealAndShop(content.getMealId(), content.getMealType(), content.getShopstallId(), DelFlagEnum.DEL_FALSE.key());
|
||||||
|
if (result == null) {
|
||||||
|
log.info("***[小程序_获取餐品的评价列表]_没有记录,直接返回空**************");
|
||||||
|
return new MenuEvaluaMealVO();
|
||||||
|
} else {
|
||||||
|
if (result.getAvgStarLevel() != null) {
|
||||||
|
result.setAvgStarLevel(result.getAvgStarLevel().setScale(1, RoundingMode.HALF_UP));
|
||||||
|
}
|
||||||
|
|
||||||
|
result.setEvaluaList(evaluaList);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.bonus.core.menu.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@ApiModel("获取指定餐品的评价列表")
|
||||||
|
public class MenuEvaluaMealVO implements Serializable {
|
||||||
|
@ApiModelProperty("餐品id")
|
||||||
|
private Long mealId;
|
||||||
|
@ApiModelProperty("平均评分")
|
||||||
|
private BigDecimal avgStarLevel;
|
||||||
|
@ApiModelProperty("评价列表")
|
||||||
|
private Page<MenuEvaluaOrderPageMealVO> evaluaList;
|
||||||
|
|
||||||
|
public Long getMealId() {
|
||||||
|
return this.mealId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getAvgStarLevel() {
|
||||||
|
return this.avgStarLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Page<MenuEvaluaOrderPageMealVO> getEvaluaList() {
|
||||||
|
return this.evaluaList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMealId(final Long mealId) {
|
||||||
|
this.mealId = mealId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAvgStarLevel(final BigDecimal avgStarLevel) {
|
||||||
|
this.avgStarLevel = avgStarLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEvaluaList(final Page<MenuEvaluaOrderPageMealVO> evaluaList) {
|
||||||
|
this.evaluaList = evaluaList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.bonus.core.menu.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public class MenuEvaluaOrderPageMealDTO implements Serializable {
|
||||||
|
@ApiModelProperty("当前页")
|
||||||
|
private Long current;
|
||||||
|
@ApiModelProperty("每页显示条数")
|
||||||
|
private Long size;
|
||||||
|
@ApiModelProperty("档口id")
|
||||||
|
private Long shopstallId;
|
||||||
|
@ApiModelProperty("餐品id")
|
||||||
|
private Long mealId;
|
||||||
|
@ApiModelProperty("餐品类型(1-菜品,2-套餐,3-商品)")
|
||||||
|
private Integer mealType;
|
||||||
|
@ApiModelProperty("检索类型(1-全部,2-有图,3-最新)")
|
||||||
|
private Integer searchType;
|
||||||
|
|
||||||
|
public Integer getSearchType() {
|
||||||
|
return (Integer)Optional.ofNullable(this.searchType).orElse(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCurrent() {
|
||||||
|
return this.current;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getSize() {
|
||||||
|
return this.size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getShopstallId() {
|
||||||
|
return this.shopstallId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getMealId() {
|
||||||
|
return this.mealId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMealType() {
|
||||||
|
return this.mealType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrent(final Long current) {
|
||||||
|
this.current = current;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSize(final Long size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShopstallId(final Long shopstallId) {
|
||||||
|
this.shopstallId = shopstallId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMealId(final Long mealId) {
|
||||||
|
this.mealId = mealId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMealType(final Integer mealType) {
|
||||||
|
this.mealType = mealType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchType(final Integer searchType) {
|
||||||
|
this.searchType = searchType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
package com.bonus.core.menu.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.bonus.core.common.encrypt.LeNiuDecryptDataProcess;
|
||||||
|
import com.bonus.core.common.encrypt.LeNiuDecryptField;
|
||||||
|
import com.bonus.core.common.utils.SysUtil;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@ApiModel("评价列表")
|
||||||
|
@LeNiuDecryptDataProcess
|
||||||
|
public class MenuEvaluaOrderPageMealVO implements Serializable {
|
||||||
|
@ApiModelProperty("人员头像地址")
|
||||||
|
private String custPhotoUrl;
|
||||||
|
@ApiModelProperty("人员姓名")
|
||||||
|
@LeNiuDecryptField
|
||||||
|
private String custName;
|
||||||
|
@ApiModelProperty("评价id")
|
||||||
|
private Long evaluaId;
|
||||||
|
@ApiModelProperty("订单编号")
|
||||||
|
private Long ordId;
|
||||||
|
@ApiModelProperty("星级")
|
||||||
|
private Integer starLevel;
|
||||||
|
@ApiModelProperty("描述")
|
||||||
|
private String description;
|
||||||
|
@ApiModelProperty("评价图片")
|
||||||
|
private List<String> pictureList;
|
||||||
|
@ApiModelProperty("评价时间")
|
||||||
|
private LocalDateTime evaluaTime;
|
||||||
|
@ApiModelProperty("评价回复")
|
||||||
|
private String reply;
|
||||||
|
@ExcelIgnore
|
||||||
|
@ApiModelProperty("评价回复时间")
|
||||||
|
private LocalDateTime replyTime;
|
||||||
|
|
||||||
|
public String getCustPhotoUrl() {
|
||||||
|
return SysUtil.getCutFileUrl(this.custPhotoUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return this.custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getEvaluaId() {
|
||||||
|
return this.evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getOrdId() {
|
||||||
|
return this.ordId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStarLevel() {
|
||||||
|
return this.starLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return this.description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getPictureList() {
|
||||||
|
return this.pictureList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getEvaluaTime() {
|
||||||
|
return this.evaluaTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReply() {
|
||||||
|
return this.reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getReplyTime() {
|
||||||
|
return this.replyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhotoUrl(final String custPhotoUrl) {
|
||||||
|
this.custPhotoUrl = custPhotoUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(final String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEvaluaId(final Long evaluaId) {
|
||||||
|
this.evaluaId = evaluaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrdId(final Long ordId) {
|
||||||
|
this.ordId = ordId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStarLevel(final Integer starLevel) {
|
||||||
|
this.starLevel = starLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(final String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPictureList(final List<String> pictureList) {
|
||||||
|
this.pictureList = pictureList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEvaluaTime(final LocalDateTime evaluaTime) {
|
||||||
|
this.evaluaTime = evaluaTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReply(final String reply) {
|
||||||
|
this.reply = reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReplyTime(final LocalDateTime replyTime) {
|
||||||
|
this.replyTime = replyTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
<?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.bonus.core.menu.mapper.MenuEvaluaOrderMapper">
|
||||||
|
|
||||||
|
<!-- 分页获取指定餐品的评价列表 -->
|
||||||
|
<select id="selectAllListByMeal" resultType="com.bonus.core.menu.vo.MenuEvaluaOrderPageMealVO">
|
||||||
|
select
|
||||||
|
ci.cust_photo_url,
|
||||||
|
ci.cust_name,
|
||||||
|
meo.evalua_id,
|
||||||
|
meo.ord_id,
|
||||||
|
med.star_level,
|
||||||
|
meo.description,
|
||||||
|
meo.reply,
|
||||||
|
meo.reply_time,
|
||||||
|
meo.crtime as evalua_time
|
||||||
|
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 order_info oai on meo.ord_id = oai.order_id
|
||||||
|
left join cust_info ci on oai.cust_id = ci.cust_id
|
||||||
|
left join menu_evalua_picture mep on meo.evalua_id = mep.evalua_id
|
||||||
|
left join menu_material mm on mm.material_id=med.meal_id
|
||||||
|
where
|
||||||
|
meo.del_flag = 2
|
||||||
|
and meo.show_flag = 1
|
||||||
|
and (md.base_dishes_id = #{mealId} or mm.material_id=#{mealId})
|
||||||
|
and meo.shopstall_id = #{shopstallId}
|
||||||
|
<if test="searchType == 3">
|
||||||
|
and meo.crtime between date_sub(now(), interval 30 day) and now()
|
||||||
|
</if>
|
||||||
|
group by
|
||||||
|
ci.cust_photo_url,
|
||||||
|
ci.cust_name,
|
||||||
|
meo.evalua_id,
|
||||||
|
meo.ord_id,
|
||||||
|
med.star_level,
|
||||||
|
meo.description,
|
||||||
|
meo.reply,
|
||||||
|
meo.reply_time,
|
||||||
|
meo.crtime
|
||||||
|
<trim prefix="having" prefixOverrides="and" >
|
||||||
|
<if test='searchType == 2'>
|
||||||
|
and count(mep.id) > 0
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
order by
|
||||||
|
meo.crtime desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectAvgByMealAndShop" resultType="com.bonus.core.menu.vo.MenuEvaluaMealVO">
|
||||||
|
select
|
||||||
|
md.base_dishes_id as meal_id,
|
||||||
|
avg(med.star_level) as avg_star_level
|
||||||
|
from
|
||||||
|
menu_evalua_detail med
|
||||||
|
left join menu_evalua_order meo on med.evalua_id = meo.evalua_id
|
||||||
|
left join menu_dishes md on med.meal_id = md.dishes_id
|
||||||
|
left join menu_material mm on mm.material_id=med.meal_id
|
||||||
|
where
|
||||||
|
meo.del_flag = #{delFlag}
|
||||||
|
and meo.show_flag = 1
|
||||||
|
and (md.base_dishes_id = #{mealId} or mm.material_id=#{mealId})
|
||||||
|
and med.meal_type = #{mealType}
|
||||||
|
and meo.shopstall_id = #{shopstallId}
|
||||||
|
group by
|
||||||
|
md.base_dishes_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?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.bonus.core.menu.mapper.MenuEvaluaPictureMapper">
|
||||||
|
</mapper>
|
||||||
Reference in New Issue