From e9b9c8ff4f1895bcb6c1e484892f76877df829c1 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 5 Jun 2025 14:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CookEvaluaOrderController.java | 16 +++- .../core/cook/dto/CookEvaluaOrderDTO.java | 77 +++++++++++++++++ .../cook/mapper/CookEvaluaOrderMapper.java | 7 +- .../cook/service/ICookEvaluaOrderService.java | 8 +- .../impl/CookEvaluaOrderServiceImpl.java | 72 +++++++++++----- .../core/cook/vo/CookEvaluaOrderVo.java | 85 +++++++++++++++++++ .../mapper/cook/CookEvaluaOrderMapper.xml | 9 +- 7 files changed, 246 insertions(+), 28 deletions(-) create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/dto/CookEvaluaOrderDTO.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/vo/CookEvaluaOrderVo.java diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookEvaluaOrderController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookEvaluaOrderController.java index 1828a20..563821e 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookEvaluaOrderController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookEvaluaOrderController.java @@ -2,6 +2,8 @@ package com.bonus.canteen.core.cook.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.bonus.canteen.core.cook.dto.CookEvaluaOrderDTO; import com.bonus.common.log.enums.OperaType; //import com.bonus.canteen.core.cook.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; @@ -49,6 +51,16 @@ public class CookEvaluaOrderController extends BaseController { return getDataTable(list); } + /** + * 获取订单评价详细信息 + */ + @ApiOperation(value = "获取订单评价详细信息") + //@RequiresPermissions("menu:order:query") + @GetMapping(value = "/orderId/{orderId}") + public AjaxResult getInfoByOrderId(@PathVariable("orderId") Long orderId) { + return success(cookEvaluaOrderService.selectCookEvaluaOrderById(orderId)); + } + /** * 导出订单评价列表 */ @@ -81,9 +93,9 @@ public class CookEvaluaOrderController extends BaseController { //@RequiresPermissions("cook:order:add") @SysLog(title = "订单评价", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增订单评价") @PostMapping - public AjaxResult add(@RequestBody CookEvaluaOrder cookEvaluaOrder) { + public AjaxResult add(@RequestBody CookEvaluaOrderDTO cookEvaluaOrderDTO) { try { - return toAjax(cookEvaluaOrderService.insertCookEvaluaOrder(cookEvaluaOrder)); + return toAjax(cookEvaluaOrderService.insertCookEvaluaOrder(cookEvaluaOrderDTO)); } catch (Exception e) { return error(e.getMessage()); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/dto/CookEvaluaOrderDTO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/dto/CookEvaluaOrderDTO.java new file mode 100644 index 0000000..209a4fd --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/dto/CookEvaluaOrderDTO.java @@ -0,0 +1,77 @@ +package com.bonus.canteen.core.cook.dto; + +import com.bonus.canteen.core.cook.domain.CookEvaluaDetail; +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; + +/** + * 订单评价对象 cook_evalua_order + * + * @author xsheng + * @date 2025-05-25 + */ + + +@Data +@ToString +public class CookEvaluaOrderDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 菜品评价id */ + private Long evaluaId; + + /** 订单编号 */ + @Excel(name = "订单编号") + @ApiModelProperty(value = "订单编号") + private Long orderId; + + /** 星级 */ + @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 stallId; + + /** 展示状态(1-展示,2-不展示) */ + @Excel(name = "展示状态(1-展示,2-不展示)") + @ApiModelProperty(value = "展示状态(1-展示,2-不展示)") + private Long showFlag; + + /** 订单评价类型1食堂2商超 */ + @Excel(name = "订单评价类型1食堂2商超") + @ApiModelProperty(value = "订单评价类型1食堂2商超") + private Long orderEvaluaType; + + @ApiModelProperty("评价图片") + private List pictureList; + + @ApiModelProperty("订单详情") + List detailList; + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookEvaluaOrderMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookEvaluaOrderMapper.java index 81cf0f1..501a48c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookEvaluaOrderMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookEvaluaOrderMapper.java @@ -2,6 +2,7 @@ package com.bonus.canteen.core.cook.mapper; import java.util.List; import com.bonus.canteen.core.cook.domain.CookEvaluaOrder; +import com.bonus.canteen.core.cook.dto.CookEvaluaOrderDTO; /** * 订单评价Mapper接口 @@ -18,6 +19,8 @@ public interface CookEvaluaOrderMapper { */ public CookEvaluaOrder selectCookEvaluaOrderByEvaluaId(Long evaluaId); + public CookEvaluaOrder selectCookEvaluaOrderByOrderId(Long orderId); + /** * 查询订单评价列表 * @@ -29,10 +32,10 @@ public interface CookEvaluaOrderMapper { /** * 新增订单评价 * - * @param cookEvaluaOrder 订单评价 + * @param cookEvaluaOrderDTO 订单评价 * @return 结果 */ - public int insertCookEvaluaOrder(CookEvaluaOrder cookEvaluaOrder); + public int insertCookEvaluaOrder(CookEvaluaOrderDTO cookEvaluaOrderDTO); /** * 修改订单评价 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookEvaluaOrderService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookEvaluaOrderService.java index 9e2284e..a9e80fc 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookEvaluaOrderService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookEvaluaOrderService.java @@ -2,6 +2,8 @@ package com.bonus.canteen.core.cook.service; import java.util.List; import com.bonus.canteen.core.cook.domain.CookEvaluaOrder; +import com.bonus.canteen.core.cook.dto.CookEvaluaOrderDTO; +import com.bonus.canteen.core.cook.vo.CookEvaluaOrderVo; /** * 订单评价Service接口 @@ -18,6 +20,8 @@ public interface ICookEvaluaOrderService { */ public CookEvaluaOrder selectCookEvaluaOrderByEvaluaId(Long evaluaId); + public CookEvaluaOrderVo selectCookEvaluaOrderById(Long orderId); + /** * 查询订单评价列表 * @@ -29,10 +33,10 @@ public interface ICookEvaluaOrderService { /** * 新增订单评价 * - * @param cookEvaluaOrder 订单评价 + * @param cookEvaluaOrderDTO 订单评价 * @return 结果 */ - public int insertCookEvaluaOrder(CookEvaluaOrder cookEvaluaOrder); + public int insertCookEvaluaOrder(CookEvaluaOrderDTO cookEvaluaOrderDTO); /** * 修改订单评价 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookEvaluaOrderServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookEvaluaOrderServiceImpl.java index 9993d99..ad3490c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookEvaluaOrderServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookEvaluaOrderServiceImpl.java @@ -2,14 +2,18 @@ package com.bonus.canteen.core.cook.service.impl; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import com.bonus.canteen.core.cook.domain.CookEvaluaDetail; import com.bonus.canteen.core.cook.domain.CookEvaluaPicture; +import com.bonus.canteen.core.cook.dto.CookEvaluaOrderDTO; import com.bonus.canteen.core.cook.mapper.CookEvaluaDetailMapper; import com.bonus.canteen.core.cook.mapper.CookEvaluaPictureMapper; +import com.bonus.canteen.core.cook.vo.CookEvaluaOrderVo; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.security.utils.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.canteen.core.cook.mapper.CookEvaluaOrderMapper; @@ -42,6 +46,32 @@ public class CookEvaluaOrderServiceImpl implements ICookEvaluaOrderService { return cookEvaluaOrderMapper.selectCookEvaluaOrderByEvaluaId(evaluaId); } + /** + * 查询订单评价 + * + * @param orderId 订单评价主键 + * @return 订单评价 + */ + @Override + public CookEvaluaOrderVo selectCookEvaluaOrderById(Long orderId) { + CookEvaluaOrder cookEvaluaOrder = cookEvaluaOrderMapper.selectCookEvaluaOrderByOrderId(orderId); + CookEvaluaOrderVo cookEvaluaOrderVo = new CookEvaluaOrderVo(); + BeanUtils.copyProperties(cookEvaluaOrder, cookEvaluaOrderVo); + + CookEvaluaDetail menuEvaluaDetail = new CookEvaluaDetail(); + menuEvaluaDetail.setEvaluaId(cookEvaluaOrder.getEvaluaId()); + List menuEvaluaDetails = cookEvaluaDetailMapper.selectCookEvaluaDetailList(menuEvaluaDetail); + cookEvaluaOrderVo.setDetailList(menuEvaluaDetails); + + CookEvaluaPicture menuEvaluaPicture = new CookEvaluaPicture(); + menuEvaluaPicture.setEvaluaId(cookEvaluaOrder.getEvaluaId()); + List menuEvaluaPictures = cookEvaluaPictureMapper.selectCookEvaluaPictureList(menuEvaluaPicture); + List pictures = menuEvaluaPictures.stream().map(CookEvaluaPicture::getImgUrl).collect(Collectors.toList()); + cookEvaluaOrderVo.setPictureList(pictures); + + return cookEvaluaOrderVo; + } + /** * 查询订单评价列表 * @@ -56,37 +86,37 @@ public class CookEvaluaOrderServiceImpl implements ICookEvaluaOrderService { /** * 新增订单评价 * - * @param cookEvaluaOrder 订单评价 + * @param cookEvaluaOrderDTO 订单评价 * @return 结果 */ @Override - public int insertCookEvaluaOrder(CookEvaluaOrder cookEvaluaOrder) { - if (Objects.isNull(cookEvaluaOrder.getOrderId())) { + public int insertCookEvaluaOrder(CookEvaluaOrderDTO cookEvaluaOrderDTO) { + if (Objects.isNull(cookEvaluaOrderDTO.getOrderId())) { throw new ServiceException("订单编号不能为空"); } - cookEvaluaOrder.setCreateTime(DateUtils.getNowDate()); - cookEvaluaOrder.setCreateBy(SecurityUtils.getUsername()); + cookEvaluaOrderDTO.setCreateTime(DateUtils.getNowDate()); + cookEvaluaOrderDTO.setCreateBy(SecurityUtils.getUsername()); try { - int count = cookEvaluaOrderMapper.insertCookEvaluaOrder(cookEvaluaOrder); - long evaluaId = cookEvaluaOrder.getEvaluaId(); - List pictureList = cookEvaluaOrder.getPictureList(); + int count = cookEvaluaOrderMapper.insertCookEvaluaOrder(cookEvaluaOrderDTO); + long evaluaId = cookEvaluaOrderDTO.getEvaluaId(); + List pictureList = cookEvaluaOrderDTO.getPictureList(); for (int i = 0; i < pictureList.size(); i++) { - CookEvaluaPicture menuEvaluaPicture = new CookEvaluaPicture(); - menuEvaluaPicture.setEvaluaId(evaluaId); - menuEvaluaPicture.setImgUrl(pictureList.get(i)); - menuEvaluaPicture.setCreateTime(DateUtils.getNowDate()); - menuEvaluaPicture.setCreateBy(SecurityUtils.getUsername()); - cookEvaluaPictureMapper.insertCookEvaluaPicture(menuEvaluaPicture); + CookEvaluaPicture cookEvaluaPicture = new CookEvaluaPicture(); + cookEvaluaPicture.setEvaluaId(evaluaId); + cookEvaluaPicture.setImgUrl(pictureList.get(i)); + cookEvaluaPicture.setCreateTime(DateUtils.getNowDate()); + cookEvaluaPicture.setCreateBy(SecurityUtils.getUsername()); + cookEvaluaPictureMapper.insertCookEvaluaPicture(cookEvaluaPicture); } - List detailList = cookEvaluaOrder.getDetailList(); + List detailList = cookEvaluaOrderDTO.getDetailList(); for (int i = 0; i < detailList.size(); i++) { - CookEvaluaDetail menuEvaluaDetail = detailList.get(i); - menuEvaluaDetail.setEvaluaId(evaluaId); - menuEvaluaDetail.setCreateTime(DateUtils.getNowDate()); - menuEvaluaDetail.setCreateBy(SecurityUtils.getUsername()); - cookEvaluaDetailMapper.insertCookEvaluaDetail(menuEvaluaDetail); + CookEvaluaDetail cookEvaluaDetail = detailList.get(i); + cookEvaluaDetail.setEvaluaId(evaluaId); + cookEvaluaDetail.setCreateTime(DateUtils.getNowDate()); + cookEvaluaDetail.setCreateBy(SecurityUtils.getUsername()); + cookEvaluaDetailMapper.insertCookEvaluaDetail(cookEvaluaDetail); } - cookEvaluaOrderMapper.updateOrderEvaluaStatus(cookEvaluaOrder.getOrderId()); + cookEvaluaOrderMapper.updateOrderEvaluaStatus(cookEvaluaOrderDTO.getOrderId()); return count; } catch (Exception e) { throw new ServiceException("新增订单评价异常, " + e.getMessage()); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/vo/CookEvaluaOrderVo.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/vo/CookEvaluaOrderVo.java new file mode 100644 index 0000000..c638d9d --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/vo/CookEvaluaOrderVo.java @@ -0,0 +1,85 @@ +package com.bonus.canteen.core.cook.vo; + +import com.bonus.canteen.core.cook.domain.CookEvaluaDetail; +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; + +/** + * 订单评价对象 cook_evalua_order + * + * @author xsheng + * @date 2025-04-20 + */ + + +@Data +@ToString +public class CookEvaluaOrderVo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 评价id */ + @Excel(name = "评价id") + @ApiModelProperty(value = "评价id") + private Long evaluaId; + + /** 订单编号 */ + @Excel(name = "订单编号") + @ApiModelProperty(value = "订单编号") + private Long orderId; + + /** 星级 */ + @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 pictureList; + + @ApiModelProperty("订单详情") + List detailList; +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookEvaluaOrderMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookEvaluaOrderMapper.xml index de38e03..81c8ac7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookEvaluaOrderMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookEvaluaOrderMapper.xml @@ -20,7 +20,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select evalua_id, order_id, star_level, description, reply, reply_time, stall_id, show_flag, order_evalua_type, create_by, create_time, update_by, update_time from cook_evalua_order + select evalua_id, order_id, star_level, description, reply, reply_time, stall_id, + show_flag, order_evalua_type, create_by, create_time, update_by, update_time + from cook_evalua_order + + insert into cook_evalua_order