菜品评价

This commit is contained in:
sxu 2025-04-26 16:15:46 +08:00
parent 15dffba36b
commit 9493284019
5 changed files with 143 additions and 8 deletions

View File

@ -24,9 +24,6 @@ import java.util.List;
public class MenuEvaluaOrderAddDTO extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 评价id */
@Excel(name = "评价id")
@ApiModelProperty(value = "评价id")

View File

@ -3,6 +3,7 @@ package com.bonus.canteen.core.menu.mapper;
import java.util.List;
import com.bonus.canteen.core.menu.domain.MenuEvaluaOrder;
import com.bonus.canteen.core.menu.dto.MenuEvaluaOrderAddDTO;
import com.bonus.canteen.core.menu.vo.MenuEvaluaOrderVo;
/**
* 订单评价Mapper接口

View File

@ -3,6 +3,7 @@ package com.bonus.canteen.core.menu.service;
import java.util.List;
import com.bonus.canteen.core.menu.domain.MenuEvaluaOrder;
import com.bonus.canteen.core.menu.dto.MenuEvaluaOrderAddDTO;
import com.bonus.canteen.core.menu.vo.MenuEvaluaOrderVo;
/**
* 订单评价Service接口
@ -17,7 +18,7 @@ public interface IMenuEvaluaOrderService {
* @param id 订单评价主键
* @return 订单评价
*/
public MenuEvaluaOrder selectMenuEvaluaOrderById(Long id);
public MenuEvaluaOrderVo selectMenuEvaluaOrderById(Long id);
/**
* 查询订单评价列表

View File

@ -1,10 +1,21 @@
package com.bonus.canteen.core.menu.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.bonus.canteen.core.menu.domain.MenuEvaluaDetail;
import com.bonus.canteen.core.menu.domain.MenuEvaluaPicture;
import com.bonus.canteen.core.menu.dto.MenuEvaluaOrderAddDTO;
import com.bonus.canteen.core.menu.mapper.MenuEvaluaDetailMapper;
import com.bonus.canteen.core.menu.mapper.MenuEvaluaPictureMapper;
import com.bonus.canteen.core.menu.vo.MenuEvaluaOrderVo;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.security.utils.SecurityUtils;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.collections.list.AbstractLinkedList;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.canteen.core.menu.mapper.MenuEvaluaOrderMapper;
@ -21,16 +32,35 @@ import com.bonus.canteen.core.menu.service.IMenuEvaluaOrderService;
public class MenuEvaluaOrderServiceImpl implements IMenuEvaluaOrderService {
@Autowired
private MenuEvaluaOrderMapper menuEvaluaOrderMapper;
@Autowired
private MenuEvaluaPictureMapper menuEvaluaPictureMapper;
@Autowired
private MenuEvaluaDetailMapper menuEvaluaDetailMapper;
/**
* 查询订单评价
*
* @param id 订单评价主键
* @param evaluaId 订单评价主键
* @return 订单评价
*/
@Override
public MenuEvaluaOrder selectMenuEvaluaOrderById(Long id) {
return menuEvaluaOrderMapper.selectMenuEvaluaOrderById(id);
public MenuEvaluaOrderVo selectMenuEvaluaOrderById(Long evaluaId) {
MenuEvaluaOrder menuEvaluaOrder = menuEvaluaOrderMapper.selectMenuEvaluaOrderById(evaluaId);
MenuEvaluaOrderVo menuEvaluaOrderVo = new MenuEvaluaOrderVo();
BeanUtils.copyProperties(menuEvaluaOrder, menuEvaluaOrderVo);
MenuEvaluaDetail menuEvaluaDetail = new MenuEvaluaDetail();
menuEvaluaDetail.setEvaluaId(evaluaId);
List<MenuEvaluaDetail> menuEvaluaDetails = menuEvaluaDetailMapper.selectMenuEvaluaDetailList(menuEvaluaDetail);
menuEvaluaOrderVo.setDetailList(menuEvaluaDetails);
MenuEvaluaPicture menuEvaluaPicture = new MenuEvaluaPicture();
menuEvaluaPicture.setEvaluaId(evaluaId);
List<MenuEvaluaPicture> menuEvaluaPictures = menuEvaluaPictureMapper.selectMenuEvaluaPictureList(menuEvaluaPicture);
List<String> pictures = menuEvaluaPictures.stream().map(MenuEvaluaPicture::getPictureUrl).collect(Collectors.toList());
menuEvaluaOrderVo.setPictureList(pictures);
return menuEvaluaOrderVo;
}
/**
@ -53,8 +83,28 @@ public class MenuEvaluaOrderServiceImpl implements IMenuEvaluaOrderService {
@Override
public int insertMenuEvaluaOrder(MenuEvaluaOrderAddDTO menuEvaluaOrder) {
menuEvaluaOrder.setCreateTime(DateUtils.getNowDate());
menuEvaluaOrder.setCreateBy(SecurityUtils.getUsername());
try {
return menuEvaluaOrderMapper.insertMenuEvaluaOrder(menuEvaluaOrder);
int count = menuEvaluaOrderMapper.insertMenuEvaluaOrder(menuEvaluaOrder);
long evaluaId = menuEvaluaOrder.getEvaluaId();
List<String> pictureList = menuEvaluaOrder.getPictureList();
for (int i = 0; i < pictureList.size(); i++) {
MenuEvaluaPicture menuEvaluaPicture = new MenuEvaluaPicture();
menuEvaluaPicture.setEvaluaId(evaluaId);
menuEvaluaPicture.setPictureUrl(pictureList.get(i));
menuEvaluaPicture.setCreateTime(DateUtils.getNowDate());
menuEvaluaPicture.setCreateBy(SecurityUtils.getUsername());
menuEvaluaPictureMapper.insertMenuEvaluaPicture(menuEvaluaPicture);
}
List<MenuEvaluaDetail> detailList = menuEvaluaOrder.getDetailList();
for (int i = 0; i < detailList.size(); i++) {
MenuEvaluaDetail menuEvaluaDetail = detailList.get(i);
menuEvaluaDetail.setEvaluaId(evaluaId);
menuEvaluaDetail.setCreateTime(DateUtils.getNowDate());
menuEvaluaDetail.setCreateBy(SecurityUtils.getUsername());
menuEvaluaDetailMapper.insertMenuEvaluaDetail(menuEvaluaDetail);
}
return count;
} catch (Exception e) {
throw new ServiceException("错误信息描述, " + e.getMessage());
}

View File

@ -0,0 +1,86 @@
package com.bonus.canteen.core.menu.vo;
import com.bonus.canteen.core.menu.domain.MenuEvaluaDetail;
import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
import java.util.List;
/**
* 订单评价对象 menu_evalua_order
*
* @author xsheng
* @date 2025-04-20
*/
@Data
@ToString
public class MenuEvaluaOrderVo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 评价id */
@Excel(name = "评价id")
@ApiModelProperty(value = "评价id")
private Long evaluaId;
/** 订单编号 */
@Excel(name = "订单编号")
@ApiModelProperty(value = "订单编号")
private Long ordId;
/** 星级 */
@Excel(name = "星级")
@ApiModelProperty(value = "星级")
private Long starLevel;
/** 描述 */
@Excel(name = "描述")
@ApiModelProperty(value = "描述")
private String description;
/** 描述回复 */
@Excel(name = "描述回复")
@ApiModelProperty(value = "描述回复")
private String reply;
/** 描述回复时间 */
@ApiModelProperty(value = "描述回复时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "描述回复时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date replyTime;
/** 档口或店铺id */
@Excel(name = "档口或店铺id")
@ApiModelProperty(value = "档口或店铺id")
private Long shopstallId;
/** 展示状态(1-展示,2-不展示) */
@Excel(name = "展示状态(1-展示,2-不展示)")
@ApiModelProperty(value = "展示状态(1-展示,2-不展示)")
private Long showFlag;
/** 删除标识(0-正常,2-删除) */
private Long delFlag;
/** 乐观锁 */
@Excel(name = "乐观锁")
@ApiModelProperty(value = "乐观锁")
private Long revision;
/** 订单评价类型1食堂2商超 */
@Excel(name = "订单评价类型1食堂2商超")
@ApiModelProperty(value = "订单评价类型1食堂2商超")
private Long orderEvaluaType;
@ApiModelProperty("评价图片")
private List<String> pictureList;
@ApiModelProperty("订单详情")
List<MenuEvaluaDetail> detailList;
}