From b4e573a66a1d9a4b1726257b23ee9edb1ccbb849 Mon Sep 17 00:00:00 2001 From: tangzh Date: Tue, 11 Mar 2025 15:25:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zbkj/common/model/product/ReviewTag.java | 41 +++++ .../model/product/ReviewTagCategory.java | 41 +++++ .../model/product/StoreProductProblem.java | 42 +++++ .../common/request/GetReplyListRequest.java | 36 ++++ .../request/StoreProductReplyAddRequest.java | 4 + .../response/OrderProductReplyResponse.java | 5 +- .../response/OrderReplyListResponse.java | 56 +++++++ .../response/ProductDetailReplyResponse.java | 9 +- .../response/ProductProblemResponse.java | 25 +++ .../StoreProductReplayCountResponse.java | 45 +++-- .../front/controller/ProductController.java | 14 +- .../controller/StoreOrderController.java | 62 ++++--- .../zbkj/front/service/ProductService.java | 7 +- .../service/impl/ProductServiceImpl.java | 21 +-- .../service/dao/ReviewTagCategoryDao.java | 8 + .../com/zbkj/service/dao/ReviewTagDao.java | 12 ++ .../com/zbkj/service/dao/StoreOrderDao.java | 9 + .../service/dao/StoreProductProblemDao.java | 8 + .../zbkj/service/service/OrderService.java | 11 +- .../service/ReviewTagCategoryService.java | 9 + .../service/service/ReviewTagService.java | 14 ++ .../service/service/StoreOrderService.java | 8 + .../service/StoreProductProblemService.java | 9 + .../service/StoreProductReplyService.java | 10 +- .../service/impl/EbHomeServiceImpl.java | 2 - .../service/impl/OrderServiceImpl.java | 30 ++++ .../impl/ReviewTagCategoryServiceImpl.java | 12 ++ .../service/impl/ReviewTagServiceImpl.java | 21 +++ .../service/impl/StoreOrderServiceImpl.java | 5 + .../impl/StoreProductProblemServiceImpl.java | 12 ++ .../impl/StoreProductReplyServiceImpl.java | 158 +++++++++++------- .../mapper/store/ReviewTagCategoryDao.xml | 6 + .../resources/mapper/store/ReviewTagDao.xml | 19 +++ .../mapper/store/StoreOrderMapper.xml | 17 ++ 34 files changed, 648 insertions(+), 140 deletions(-) create mode 100644 food-common/src/main/java/com/zbkj/common/model/product/ReviewTag.java create mode 100644 food-common/src/main/java/com/zbkj/common/model/product/ReviewTagCategory.java create mode 100644 food-common/src/main/java/com/zbkj/common/model/product/StoreProductProblem.java create mode 100644 food-common/src/main/java/com/zbkj/common/request/GetReplyListRequest.java create mode 100644 food-common/src/main/java/com/zbkj/common/response/OrderReplyListResponse.java create mode 100644 food-common/src/main/java/com/zbkj/common/response/ProductProblemResponse.java create mode 100644 food-service/src/main/java/com/zbkj/service/dao/ReviewTagCategoryDao.java create mode 100644 food-service/src/main/java/com/zbkj/service/dao/ReviewTagDao.java create mode 100644 food-service/src/main/java/com/zbkj/service/dao/StoreProductProblemDao.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/ReviewTagCategoryService.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/ReviewTagService.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagCategoryServiceImpl.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagServiceImpl.java create mode 100644 food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java create mode 100644 food-service/src/main/resources/mapper/store/ReviewTagCategoryDao.xml create mode 100644 food-service/src/main/resources/mapper/store/ReviewTagDao.xml diff --git a/food-common/src/main/java/com/zbkj/common/model/product/ReviewTag.java b/food-common/src/main/java/com/zbkj/common/model/product/ReviewTag.java new file mode 100644 index 0000000..ea49d77 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/model/product/ReviewTag.java @@ -0,0 +1,41 @@ +package com.zbkj.common.model.product; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("eb_review_tag") +public class ReviewTag implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId + private Integer id; + /** + * 标签名 + */ + private String name; + /** + * 状态, 1正常,0失效 + */ + private Integer status; + /** + * 排序 + */ + private Integer sort; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; + +} diff --git a/food-common/src/main/java/com/zbkj/common/model/product/ReviewTagCategory.java b/food-common/src/main/java/com/zbkj/common/model/product/ReviewTagCategory.java new file mode 100644 index 0000000..a269951 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/model/product/ReviewTagCategory.java @@ -0,0 +1,41 @@ +package com.zbkj.common.model.product; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("eb_review_tag_category") +public class ReviewTagCategory implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId + private Integer id; + /** + * 标签id + */ + private Integer reviewTagId; + /** + * 产品分类 + */ + private Integer cid; + /** + * 状态, 1正常,0失效 + */ + private Integer status; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; + +} diff --git a/food-common/src/main/java/com/zbkj/common/model/product/StoreProductProblem.java b/food-common/src/main/java/com/zbkj/common/model/product/StoreProductProblem.java new file mode 100644 index 0000000..474f4d9 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/model/product/StoreProductProblem.java @@ -0,0 +1,42 @@ +package com.zbkj.common.model.product; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; + +@Data +@TableName("eb_store_product_problem") +public class StoreProductProblem implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId + private Integer id; + /** + * 商品id + */ + private Integer productId; + /** + * 问题 + */ + private String problem; + /** + * 答案 + */ + private String answer; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; + +} diff --git a/food-common/src/main/java/com/zbkj/common/request/GetReplyListRequest.java b/food-common/src/main/java/com/zbkj/common/request/GetReplyListRequest.java new file mode 100644 index 0000000..7a041c4 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/request/GetReplyListRequest.java @@ -0,0 +1,36 @@ +package com.zbkj.common.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="GetReplyListRequest对象", description="GetReplyListRequest对象") +public class GetReplyListRequest implements Serializable { + + private static final long serialVersionUID = 3481659942630712958L; + + @ApiModelProperty(value = "产品id", required = true) + @NotNull(message = "产品id不能为空") + private Integer productId; + + @ApiModelProperty(value = "评价等级|0=全部,1=好评,2=中评,3=差评") + private Integer type; + + @ApiModelProperty(value = "评论标签名称") + private String tag; + + @ApiModelProperty(value = "查最新,传1") + private String latest; + + @ApiModelProperty(value = "有图片,传1") + private String havePics; + +} diff --git a/food-common/src/main/java/com/zbkj/common/request/StoreProductReplyAddRequest.java b/food-common/src/main/java/com/zbkj/common/request/StoreProductReplyAddRequest.java index 20aca33..eee03e0 100644 --- a/food-common/src/main/java/com/zbkj/common/request/StoreProductReplyAddRequest.java +++ b/food-common/src/main/java/com/zbkj/common/request/StoreProductReplyAddRequest.java @@ -61,4 +61,8 @@ public class StoreProductReplyAddRequest implements Serializable { @ApiModelProperty(value = "商品规格属性值,多规格时用英文逗号拼接") private String sku; + + @ApiModelProperty(value = "商品评论标签,多个,号隔开") + private String reviewTags; + } diff --git a/food-common/src/main/java/com/zbkj/common/response/OrderProductReplyResponse.java b/food-common/src/main/java/com/zbkj/common/response/OrderProductReplyResponse.java index 508be2d..ed4dd4d 100644 --- a/food-common/src/main/java/com/zbkj/common/response/OrderProductReplyResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/OrderProductReplyResponse.java @@ -2,13 +2,13 @@ package com.zbkj.common.response; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import io.swagger.models.auth.In; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** * 评价商品页响应对象 @@ -40,4 +40,7 @@ public class OrderProductReplyResponse implements Serializable { @ApiModelProperty(value = "规格sku") private String sku; + @ApiModelProperty(value = "评论标签") + private List reviewTags; + } diff --git a/food-common/src/main/java/com/zbkj/common/response/OrderReplyListResponse.java b/food-common/src/main/java/com/zbkj/common/response/OrderReplyListResponse.java new file mode 100644 index 0000000..4e4212f --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/response/OrderReplyListResponse.java @@ -0,0 +1,56 @@ +package com.zbkj.common.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="OrderReplyListResponse对象", description="OrderReplyListResponse对象") +public class OrderReplyListResponse implements Serializable { + + private static final long serialVersionUID = 1387727608277207652L; + + @ApiModelProperty(value = "订单id") + private Integer id; + + @ApiModelProperty(value = "订单编号") + private String orderId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "商品名称") + private String productName; + + @ApiModelProperty(value = "商品id") + private Integer productId; + + @ApiModelProperty(value = "商品attrid") + private String uni; + + @ApiModelProperty(value = "商品图片") + private String image; + + @ApiModelProperty(value = "评论图片") + private String pics; + + @ApiModelProperty(value = "评论内容") + private String comment; + + @ApiModelProperty(value = "商品分") + private Integer productScore; + + @ApiModelProperty(value = "服务分") + private Integer serviceScore; + + @ApiModelProperty(value = "分等级,1好评,2中评,3差评") + private Integer scoreGrade; + +} diff --git a/food-common/src/main/java/com/zbkj/common/response/ProductDetailReplyResponse.java b/food-common/src/main/java/com/zbkj/common/response/ProductDetailReplyResponse.java index a7ead94..c8ff565 100644 --- a/food-common/src/main/java/com/zbkj/common/response/ProductDetailReplyResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/ProductDetailReplyResponse.java @@ -26,6 +26,13 @@ public class ProductDetailReplyResponse implements Serializable { @ApiModelProperty(value = "好评率") private String replyChance; - @ApiModelProperty(value = "最后一条评论信息") + @ApiModelProperty(value = "一条评论信息") private ProductReplyResponse productReply; + + @ApiModelProperty(value = "问题数量") + private Integer problemNum; + + @ApiModelProperty(value = "一条常见问题") + private ProductProblemResponse productProblem; + } diff --git a/food-common/src/main/java/com/zbkj/common/response/ProductProblemResponse.java b/food-common/src/main/java/com/zbkj/common/response/ProductProblemResponse.java new file mode 100644 index 0000000..7de2739 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/response/ProductProblemResponse.java @@ -0,0 +1,25 @@ +package com.zbkj.common.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ProductProblemResponse对象", description="ProductProblemResponse对象") +public class ProductProblemResponse { + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "问题") + private String problem; + + @ApiModelProperty(value = "答案") + private String answer; + +} diff --git a/food-common/src/main/java/com/zbkj/common/response/StoreProductReplayCountResponse.java b/food-common/src/main/java/com/zbkj/common/response/StoreProductReplayCountResponse.java index 9007ce0..aed8380 100644 --- a/food-common/src/main/java/com/zbkj/common/response/StoreProductReplayCountResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/StoreProductReplayCountResponse.java @@ -25,31 +25,40 @@ public class StoreProductReplayCountResponse implements Serializable { public StoreProductReplayCountResponse() {} public StoreProductReplayCountResponse(Long sumCount, Long goodCount, Long inCount, Long poorCount, String replyChance, Integer replyStar, List reviewTags) { this.sumCount = sumCount; - this.goodCount = goodCount; - this.inCount = inCount; - this.poorCount = poorCount; - this.replyChance = replyChance; - this.replyStar = replyStar; +// this.goodCount = goodCount; +// this.inCount = inCount; +// this.poorCount = poorCount; +// this.replyChance = replyChance; +// this.replyStar = replyStar; + this.reviewTags = reviewTags; + } + + public StoreProductReplayCountResponse(Long sumCount, Long picsCount, List reviewTags) { + this.sumCount = sumCount; + this.picsCount = picsCount; this.reviewTags = reviewTags; } @ApiModelProperty(value = "评论总数") private Long sumCount; - @ApiModelProperty(value = "好评总数") - private Long goodCount; +// @ApiModelProperty(value = "好评总数") +// private Long goodCount; +// +// @ApiModelProperty(value = "中评总数") +// private Long inCount; +// +// @ApiModelProperty(value = "差评总数") +// private Long poorCount; +// +// @ApiModelProperty(value = "好评率") +// private String replyChance; +// +// @ApiModelProperty(value = "评分星数") +// private Integer replyStar; - @ApiModelProperty(value = "中评总数") - private Long inCount; - - @ApiModelProperty(value = "差评总数") - private Long poorCount; - - @ApiModelProperty(value = "好评率") - private String replyChance; - - @ApiModelProperty(value = "评分星数") - private Integer replyStar; + @ApiModelProperty(value = "有图片评论数") + private Long picsCount; @ApiModelProperty(value = "评论标签") private List reviewTags; diff --git a/food-front/src/main/java/com/zbkj/front/controller/ProductController.java b/food-front/src/main/java/com/zbkj/front/controller/ProductController.java index e76d651..98ebd0e 100644 --- a/food-front/src/main/java/com/zbkj/front/controller/ProductController.java +++ b/food-front/src/main/java/com/zbkj/front/controller/ProductController.java @@ -2,6 +2,7 @@ package com.zbkj.front.controller; import com.zbkj.common.page.CommonPage; +import com.zbkj.common.request.GetReplyListRequest; import com.zbkj.common.request.PageParamRequest; import com.zbkj.common.request.ProductListRequest; import com.zbkj.common.request.ProductRequest; @@ -84,16 +85,9 @@ public class ProductController { * 商品评论列表 */ @ApiOperation(value = "商品评论列表") - @RequestMapping(value = "/reply/list/{id}", method = RequestMethod.GET) - @ApiImplicitParams({ - @ApiImplicitParam(name = "type", value = "评价等级|0=全部,1=好评,2=中评,3=差评", allowableValues = "range[0,1,2,3]"), - @ApiImplicitParam(name = "tag", value = "评价标签") - }) - public CommonResult> getReplyList(@PathVariable Integer id, - @RequestParam(value = "type") Integer type, - @RequestParam(value = "tag") String tag, - @Validated PageParamRequest pageParamRequest) { - return CommonResult.success(CommonPage.restPage(productService.getReplyList(id, type, tag, pageParamRequest))); + @RequestMapping(value = "/reply/list", method = RequestMethod.GET) + public CommonResult> getReplyList(@Validated GetReplyListRequest request, @Validated PageParamRequest pageParamRequest) { + return CommonResult.success(CommonPage.restPage(productService.getReplyList(request, pageParamRequest))); } /** diff --git a/food-front/src/main/java/com/zbkj/front/controller/StoreOrderController.java b/food-front/src/main/java/com/zbkj/front/controller/StoreOrderController.java index 4e3fb65..9e2908d 100644 --- a/food-front/src/main/java/com/zbkj/front/controller/StoreOrderController.java +++ b/food-front/src/main/java/com/zbkj/front/controller/StoreOrderController.java @@ -102,7 +102,7 @@ public class StoreOrderController { @ApiOperation(value = "订单列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ApiImplicitParams ({ - @ApiImplicitParam(name = "type", value = "评价等级|null=全部,0=未支付,1=待发货/备货中,2=待收货,3=待评价,4=已完成,-3=售后/退款", required = false), + @ApiImplicitParam(name = "type", value = "评价等级|null=全部,0=未支付,1=待发货/备货中,2=待收货,3=待评价,4=已完成,-3=售后/退款"), }) public CommonResult> orderList(@RequestParam(name = "type") Integer type, @ModelAttribute PageParamRequest pageRequest) { return CommonResult.success(orderService.list(type, pageRequest)); @@ -144,20 +144,6 @@ public class StoreOrderController { } } - /** - * 订单评价 - * @param request StoreProductReplyAddRequest 评论参数 - */ - @ApiOperation(value = "评价订单") - @RequestMapping(value = "/comment", method = RequestMethod.POST) - public CommonResult comment(@RequestBody @Validated StoreProductReplyAddRequest request) { - if(orderService.reply(request)) { - return CommonResult.success(); - }else{ - return CommonResult.failed(); - } - } - /** * 订单收货 * @param id Integer 订单id @@ -220,6 +206,46 @@ public class StoreOrderController { return CommonResult.success(orderService.getRefundReason()); } + /** + * 订单评价 + * @param request StoreProductReplyAddRequest 评论参数 + */ + @ApiOperation(value = "评价订单") + @RequestMapping(value = "/comment", method = RequestMethod.POST) + public CommonResult comment(@RequestBody @Validated StoreProductReplyAddRequest request) { + if(orderService.reply(request)) { + return CommonResult.success(); + }else{ + return CommonResult.failed(); + } + } + + /** + * 评论中心-列表 + * @param type 类型 + * @param pageRequest 分页 + * @return 订单列表 + */ + @ApiOperation(value = "评论中心-列表") + @RequestMapping(value = "/orderReply/list", method = RequestMethod.GET) + @ApiImplicitParams ({ + @ApiImplicitParam(name = "type", value = "类型|0=待评论,1已评论", defaultValue = "0"), + }) + public CommonResult> orderReplyList(@RequestParam(name = "type") Integer type, @ModelAttribute PageParamRequest pageRequest) { + return CommonResult.success(orderService.orderReplyList(type, pageRequest)); + } + + /** + * 待评价商品信息查询 + * @param request + * @return + */ + @ApiOperation(value = "待评价商品信息查询") + @RequestMapping(value = "/product", method = RequestMethod.POST) + public CommonResult getOrderProductForReply(@Validated @RequestBody GetProductReply request) { + return CommonResult.success(orderService.getReplyProduct(request)); + } + /** * 根据订单号查询物流信息 * @param orderId 订单号 @@ -231,12 +257,6 @@ public class StoreOrderController { return CommonResult.success(orderService.expressOrder(orderId)); } - @ApiOperation(value = "待评价商品信息查询") - @RequestMapping(value = "/product", method = RequestMethod.POST) - public CommonResult getOrderProductForReply(@Validated @RequestBody GetProductReply request) { - return CommonResult.success(orderService.getReplyProduct(request)); - } - /** * 获取支付配置 */ diff --git a/food-front/src/main/java/com/zbkj/front/service/ProductService.java b/food-front/src/main/java/com/zbkj/front/service/ProductService.java index 83bb807..780ab58 100644 --- a/food-front/src/main/java/com/zbkj/front/service/ProductService.java +++ b/food-front/src/main/java/com/zbkj/front/service/ProductService.java @@ -2,6 +2,7 @@ package com.zbkj.front.service; import com.zbkj.common.model.product.StoreProduct; import com.zbkj.common.page.CommonPage; +import com.zbkj.common.request.GetReplyListRequest; import com.zbkj.common.request.PageParamRequest; import com.zbkj.common.request.ProductListRequest; import com.zbkj.common.request.ProductRequest; @@ -48,13 +49,11 @@ public interface ProductService { /** * 商品评论列表 - * @param proId 商品编号 - * @param type 评价等级|0=全部,1=好评,2=中评,3=差评 - * @param tag 评价标签名称 + * @param request 查询条件 * @param pageParamRequest 分页参数 * @return PageInfo */ - PageInfo getReplyList(Integer proId, Integer type, String tag, PageParamRequest pageParamRequest); + PageInfo getReplyList(GetReplyListRequest request, PageParamRequest pageParamRequest); /** * 商品评论数量 diff --git a/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java b/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java index 347dc1c..26d1b36 100644 --- a/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java +++ b/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java @@ -20,6 +20,7 @@ import com.zbkj.common.model.record.UserVisitRecord; import com.zbkj.common.model.system.SystemUserLevel; import com.zbkj.common.model.user.User; import com.zbkj.common.page.CommonPage; +import com.zbkj.common.request.GetReplyListRequest; import com.zbkj.common.request.PageParamRequest; import com.zbkj.common.request.ProductListRequest; import com.zbkj.common.request.ProductRequest; @@ -242,14 +243,13 @@ public class ProductServiceImpl implements ProductService { /** * 商品评论列表 - * @param proId 商品编号 - * @param type 评价等级|0=全部,1=好评,2=中评,3=差评 + * @param request 查询条件 * @param pageParamRequest 分页参数 * @return PageInfo */ @Override - public PageInfo getReplyList(Integer proId, Integer type, String tag, PageParamRequest pageParamRequest) { - return storeProductReplyService.getH5List(proId, type, tag, pageParamRequest); + public PageInfo getReplyList(GetReplyListRequest request, PageParamRequest pageParamRequest) { + return storeProductReplyService.getH5List(request, pageParamRequest); } /** @@ -260,13 +260,14 @@ public class ProductServiceImpl implements ProductService { public StoreProductReplayCountResponse getReplyCount(Integer id) { MyRecord myRecord = storeProductReplyService.getH5Count(id); Long sumCount = myRecord.getLong("sumCount"); - Long goodCount = myRecord.getLong("goodCount"); - Long inCount = myRecord.getLong("mediumCount"); - Long poorCount = myRecord.getLong("poorCount"); - String replyChance = myRecord.getStr("replyChance"); - Integer replyStar = myRecord.getInt("replyStar"); + Long picsCount = myRecord.getLong("picsCount"); +// Long goodCount = myRecord.getLong("goodCount"); +// Long inCount = myRecord.getLong("mediumCount"); +// Long poorCount = myRecord.getLong("poorCount"); +// String replyChance = myRecord.getStr("replyChance"); +// Integer replyStar = myRecord.getInt("replyStar"); List tags = myRecord.get("tags"); - return new StoreProductReplayCountResponse(sumCount, goodCount, inCount, poorCount, replyChance, replyStar, tags); + return new StoreProductReplayCountResponse(sumCount, picsCount, tags); } /** diff --git a/food-service/src/main/java/com/zbkj/service/dao/ReviewTagCategoryDao.java b/food-service/src/main/java/com/zbkj/service/dao/ReviewTagCategoryDao.java new file mode 100644 index 0000000..6a16d45 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/dao/ReviewTagCategoryDao.java @@ -0,0 +1,8 @@ +package com.zbkj.service.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zbkj.common.model.product.ReviewTagCategory; + +public interface ReviewTagCategoryDao extends BaseMapper { + +} diff --git a/food-service/src/main/java/com/zbkj/service/dao/ReviewTagDao.java b/food-service/src/main/java/com/zbkj/service/dao/ReviewTagDao.java new file mode 100644 index 0000000..06ef7da --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/dao/ReviewTagDao.java @@ -0,0 +1,12 @@ +package com.zbkj.service.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zbkj.common.model.product.ReviewTag; + +import java.util.List; + +public interface ReviewTagDao extends BaseMapper { + + List getReviewTagsByProductId(Integer productId); + +} diff --git a/food-service/src/main/java/com/zbkj/service/dao/StoreOrderDao.java b/food-service/src/main/java/com/zbkj/service/dao/StoreOrderDao.java index 2ebb6d6..58be006 100644 --- a/food-service/src/main/java/com/zbkj/service/dao/StoreOrderDao.java +++ b/food-service/src/main/java/com/zbkj/service/dao/StoreOrderDao.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zbkj.common.request.StoreDateRangeSqlPram; import com.zbkj.common.request.StoreOrderStaticsticsRequest; import com.zbkj.common.response.OrderBrokerageData; +import com.zbkj.common.response.OrderReplyListResponse; import com.zbkj.common.response.StoreOrderStatisticsChartItemResponse; import com.zbkj.common.response.StoreStaffDetail; import org.apache.ibatis.annotations.Param; @@ -60,4 +61,12 @@ public interface StoreOrderDao extends BaseMapper { * @param spreadId 推广人uid */ OrderBrokerageData getBrokerageData(@Param("uid") Integer uid, @Param("spreadId") Integer spreadId); + + /** + * 评论列表 + * @param uid 用户uid + * @param type 0=待评论,1已评论 + * @return + */ + List selectOrderReplyList(@Param("uid") Integer uid, @Param("type") Integer type); } diff --git a/food-service/src/main/java/com/zbkj/service/dao/StoreProductProblemDao.java b/food-service/src/main/java/com/zbkj/service/dao/StoreProductProblemDao.java new file mode 100644 index 0000000..bfc83e3 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/dao/StoreProductProblemDao.java @@ -0,0 +1,8 @@ +package com.zbkj.service.dao; + +import com.zbkj.common.model.product.StoreProductProblem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface StoreProductProblemDao extends BaseMapper { + +} diff --git a/food-service/src/main/java/com/zbkj/service/service/OrderService.java b/food-service/src/main/java/com/zbkj/service/service/OrderService.java index 9eb0772..2bd3998 100644 --- a/food-service/src/main/java/com/zbkj/service/service/OrderService.java +++ b/food-service/src/main/java/com/zbkj/service/service/OrderService.java @@ -1,12 +1,9 @@ package com.zbkj.service.service; -import com.zbkj.common.model.user.User; import com.zbkj.common.page.CommonPage; import com.zbkj.common.request.*; import com.zbkj.common.response.*; import com.zbkj.common.vo.MyRecord; -import com.zbkj.common.vo.OrderInfoDetailVo; -import org.springframework.scheduling.annotation.Async; import java.util.List; @@ -24,6 +21,14 @@ public interface OrderService { */ CommonPage list(Integer type, PageParamRequest pageRequest); + /** + * 评论列表 + * @param type + * @param pageRequest + * @return + */ + CommonPage orderReplyList(Integer type, PageParamRequest pageRequest); + /** * 订单详情 * @param orderId 订单id diff --git a/food-service/src/main/java/com/zbkj/service/service/ReviewTagCategoryService.java b/food-service/src/main/java/com/zbkj/service/service/ReviewTagCategoryService.java new file mode 100644 index 0000000..c0f8326 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/ReviewTagCategoryService.java @@ -0,0 +1,9 @@ +package com.zbkj.service.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zbkj.common.model.product.ReviewTagCategory; + +public interface ReviewTagCategoryService extends IService { + +} + diff --git a/food-service/src/main/java/com/zbkj/service/service/ReviewTagService.java b/food-service/src/main/java/com/zbkj/service/service/ReviewTagService.java new file mode 100644 index 0000000..4b6aab6 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/ReviewTagService.java @@ -0,0 +1,14 @@ +package com.zbkj.service.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zbkj.common.model.product.ReviewTag; + +import java.util.List; + +public interface ReviewTagService extends IService { + + List getReviewTagsByProductId(Integer productId); + +} + diff --git a/food-service/src/main/java/com/zbkj/service/service/StoreOrderService.java b/food-service/src/main/java/com/zbkj/service/service/StoreOrderService.java index 2c48978..118042a 100644 --- a/food-service/src/main/java/com/zbkj/service/service/StoreOrderService.java +++ b/food-service/src/main/java/com/zbkj/service/service/StoreOrderService.java @@ -370,4 +370,12 @@ public interface StoreOrderService extends IService { * @param spreadId 推广人uid */ OrderBrokerageData getBrokerageData(Integer uid, Integer spreadId); + + /** + * 评论列表 + * @param userId + * @param type + * @return + */ + List selectOrderReplyList(Integer userId, Integer type); } diff --git a/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java b/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java new file mode 100644 index 0000000..bd2c338 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java @@ -0,0 +1,9 @@ +package com.zbkj.service.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zbkj.common.model.product.StoreProductProblem; + +public interface StoreProductProblemService extends IService { +} + diff --git a/food-service/src/main/java/com/zbkj/service/service/StoreProductReplyService.java b/food-service/src/main/java/com/zbkj/service/service/StoreProductReplyService.java index 07c8d23..a7496e3 100644 --- a/food-service/src/main/java/com/zbkj/service/service/StoreProductReplyService.java +++ b/food-service/src/main/java/com/zbkj/service/service/StoreProductReplyService.java @@ -1,14 +1,11 @@ package com.zbkj.service.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.zbkj.common.request.StoreProductReplyAddRequest; -import com.zbkj.common.request.StoreProductReplyCommentRequest; -import com.zbkj.common.request.StoreProductReplySearchRequest; +import com.zbkj.common.request.*; import com.zbkj.common.response.ProductDetailReplyResponse; import com.zbkj.common.response.ProductReplyResponse; import com.zbkj.common.response.StoreProductReplyResponse; import com.zbkj.common.vo.MyRecord; -import com.zbkj.common.request.PageParamRequest; import com.github.pagehelper.PageInfo; import com.zbkj.common.model.product.StoreProductReply; @@ -64,12 +61,11 @@ public interface StoreProductReplyService extends IService { /** * 移动端商品评论列表 - * @param proId 商品编号 - * @param type 评价等级|0=全部,1=好评,2=中评,3=差评 + * @param request 查询条件 * @param pageParamRequest 分页参数 * @return PageInfo */ - PageInfo getH5List(Integer proId, Integer type, String tag, PageParamRequest pageParamRequest); + PageInfo getH5List(GetReplyListRequest request, PageParamRequest pageParamRequest); /** * 删除评论 diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java index 98299d3..3e10ecd 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java @@ -1,7 +1,5 @@ package com.zbkj.service.service.impl; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.zbkj.common.constants.Constants; import com.zbkj.common.model.home.Home; diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/OrderServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/OrderServiceImpl.java index 9168604..a281b81 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/OrderServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/OrderServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; import com.zbkj.common.constants.*; import com.zbkj.common.exception.CrmebException; import com.zbkj.common.model.bargain.StoreBargain; @@ -111,6 +112,7 @@ public class OrderServiceImpl implements OrderService { @Autowired private StoreSeckillService storeSeckillService; + private StoreCombinationService storeCombinationService; @Autowired @@ -169,6 +171,9 @@ public class OrderServiceImpl implements OrderService { @Autowired private SmsTemplateService smsTemplateService; + @Autowired + private ReviewTagService reviewTagService; + /** * 发送后台管理员下单提醒通知短信 * @param orderNo 订单编号 @@ -431,6 +436,29 @@ public class OrderServiceImpl implements OrderService { return detailPage; } + @Override + public CommonPage orderReplyList(Integer type, PageParamRequest page) { + Integer userId = userService.getUserIdException(); + PageHelper.startPage(page.getPage(), page.getLimit()); + List list = storeOrderService.selectOrderReplyList(userId, type); + for (OrderReplyListResponse res : list) { + if (type == 1) { + Integer productScore = res.getProductScore(); + Integer serviceScore = res.getServiceScore(); + int scoreGrade = 0; + if (productScore + serviceScore >= 8) { + scoreGrade = 1; + } else if ((productScore + serviceScore) < 8 && (productScore + serviceScore) > 4) { + scoreGrade = 2; + } else { + scoreGrade = 3; + } + res.setScoreGrade(scoreGrade); + } + } + return CommonPage.restPage(list); + } + /** * 获取订单活动类型 * @param storeOrder 订单都西昂 @@ -760,6 +788,8 @@ public class OrderServiceImpl implements OrderService { response.setImage(scr.getImage()); response.setSku(scr.getSku()); response.setStoreName(scr.getProductName()); + List reviewTags = reviewTagService.getReviewTagsByProductId(scr.getProductId()); + response.setReviewTags(reviewTags); return response; } diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagCategoryServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagCategoryServiceImpl.java new file mode 100644 index 0000000..cfc22ff --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagCategoryServiceImpl.java @@ -0,0 +1,12 @@ +package com.zbkj.service.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zbkj.common.model.product.ReviewTagCategory; +import com.zbkj.service.dao.ReviewTagCategoryDao; +import com.zbkj.service.service.ReviewTagCategoryService; +import org.springframework.stereotype.Service; + +@Service +public class ReviewTagCategoryServiceImpl extends ServiceImpl implements ReviewTagCategoryService { + +} diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagServiceImpl.java new file mode 100644 index 0000000..aaf71f4 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/impl/ReviewTagServiceImpl.java @@ -0,0 +1,21 @@ +package com.zbkj.service.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zbkj.common.model.product.ReviewTag; +import com.zbkj.service.dao.ReviewTagDao; +import com.zbkj.service.service.ReviewTagService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ReviewTagServiceImpl extends ServiceImpl implements ReviewTagService { + + @Autowired ReviewTagDao dao; + + @Override + public List getReviewTagsByProductId(Integer productId) { + return dao.getReviewTagsByProductId(productId); + } +} diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreOrderServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreOrderServiceImpl.java index b1da133..51f0d54 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreOrderServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreOrderServiceImpl.java @@ -1415,6 +1415,11 @@ public class StoreOrderServiceImpl extends ServiceImpl selectOrderReplyList(Integer userId, Integer type) { + return dao.selectOrderReplyList(userId, type); + } + ///////////////////////////////////////////////////////////////////////////////////////////////////// 以下为自定义方法 /** diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java new file mode 100644 index 0000000..e1c26a1 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java @@ -0,0 +1,12 @@ +package com.zbkj.service.service.impl; + +import com.zbkj.common.model.product.StoreProductProblem; +import com.zbkj.service.dao.StoreProductProblemDao; +import com.zbkj.service.service.StoreProductProblemService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +@Service +public class StoreProductProblemServiceImpl extends ServiceImpl implements StoreProductProblemService { + +} diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductReplyServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductReplyServiceImpl.java index 6a5b275..f38f774 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductReplyServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductReplyServiceImpl.java @@ -14,14 +14,13 @@ import com.zbkj.common.constants.Constants; import com.zbkj.common.exception.CrmebException; import com.zbkj.common.model.order.StoreOrder; import com.zbkj.common.model.product.StoreProduct; +import com.zbkj.common.model.product.StoreProductProblem; import com.zbkj.common.model.product.StoreProductReply; import com.zbkj.common.model.user.User; import com.zbkj.common.page.CommonPage; -import com.zbkj.common.request.PageParamRequest; -import com.zbkj.common.request.StoreProductReplyAddRequest; -import com.zbkj.common.request.StoreProductReplyCommentRequest; -import com.zbkj.common.request.StoreProductReplySearchRequest; +import com.zbkj.common.request.*; import com.zbkj.common.response.ProductDetailReplyResponse; +import com.zbkj.common.response.ProductProblemResponse; import com.zbkj.common.response.ProductReplyResponse; import com.zbkj.common.response.StoreProductReplyResponse; import com.zbkj.common.utils.CrmebUtil; @@ -33,6 +32,7 @@ import com.zbkj.common.vo.StoreOrderInfoOldVo; import com.zbkj.common.vo.dateLimitUtilVo; import com.zbkj.service.dao.StoreProductReplyDao; import com.zbkj.service.service.*; +import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -78,6 +78,8 @@ public class StoreProductReplyServiceImpl extends ServiceImpl 0 && goodCount > 0) { - replyChance = String.format("%.2f", ((goodCount.doubleValue() / sumCount.doubleValue()))); - } - // 评分星数(商品评星 + 服务评星)/2 - Integer replyStar = 0; - if (sumCount > 0) { - replyStar = getSumStar(productId); - } - List tags = dao.getReviewTags(productId); + // 评论图片数 + Integer picsCount = getCountByScore(productId, null, "havePics"); +// // 好评总数 +// Integer goodCount = getCountByScore(productId, "good"); +// // 中评总数 +// Integer mediumCount = getCountByScore(productId, "medium"); +// // 差评总数 +// Integer poorCount = getCountByScore(productId, "poor"); +// // 好评率 +// String replyChance = "0"; +// if (sumCount > 0 && goodCount > 0) { +// replyChance = String.format("%.2f", ((goodCount.doubleValue() / sumCount.doubleValue()))); +// } +// // 评分星数(商品评星 + 服务评星)/2 +// Integer replyStar = 0; +// if (sumCount > 0) { +// replyStar = getSumStar(productId); +// } MyRecord record = new MyRecord(); record.set("sumCount", sumCount); - record.set("goodCount", goodCount); - record.set("mediumCount", mediumCount); - record.set("poorCount", poorCount); - record.set("replyChance", replyChance); - record.set("replyStar", replyStar); - record.set("tags", tags); + record.set("picsCount", picsCount); +// record.set("goodCount", goodCount); +// record.set("mediumCount", mediumCount); +// record.set("poorCount", poorCount); +// record.set("replyChance", replyChance); +// record.set("replyStar", replyStar); + record.set("tags", dao.getReviewTags(productId)); return record; } @@ -310,44 +314,64 @@ public class StoreProductReplyServiceImpl extends ServiceImpl lqwSpp = new LambdaQueryWrapper<>(); + lqwSpp.eq(StoreProductProblem::getProductId, proId); + int problemNum = storeProductProblemService.count(lqwSpp); + lqw.last(" limit 1"); + StoreProductProblem one = storeProductProblemService.getOne(lqwSpp); + ProductProblemResponse sppRes = new ProductProblemResponse(); + BeanUtils.copyProperties(one, sppRes); + response.setProblemNum(problemNum); + response.setProductProblem(sppRes); return response; } /** * 移动端商品评论列表 - * @param proId 商品编号 - * @param type 评价等级|0=全部,1=好评,2=中评,3=差评 - * @param tag 评价标签名称 + * @param request 查询条件 * @param pageParamRequest 分页参数 * @return PageInfo */ @Override - public PageInfo getH5List(Integer proId, Integer type, String tag, PageParamRequest pageParamRequest) { + public PageInfo getH5List(GetReplyListRequest request, PageParamRequest pageParamRequest) { Page startPage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); - + Integer productId = request.getProductId(); + Integer type = request.getType(); + String tag = request.getTag(); + String latest = request.getLatest(); + String havePics = request.getHavePics(); //带 StoreProductReply 类的多条件查询 LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(StoreProductReply::getIsDel, false); - lqw.eq(StoreProductReply::getProductId, proId); - //评价等级|0=全部,1=好评,2=中评,3=差评 - switch (type) { - case 1: - lqw.apply(" (product_score + service_score) >= 8"); - break; - case 2: - lqw.apply(" (product_score + service_score) < 8 and (product_score + service_score) > 4"); - break; - case 3: - lqw.apply(" (product_score + service_score) <= 4"); - break; - default: - break; - + lqw.eq(StoreProductReply::getProductId, productId); + if (null != type) { + //评价等级|0=全部,1=好评,2=中评,3=差评 + switch (type) { + case 1: + lqw.apply(" (product_score + service_score) >= 8"); + break; + case 2: + lqw.apply(" (product_score + service_score) < 8 and (product_score + service_score) > 4"); + break; + case 3: + lqw.apply(" (product_score + service_score) <= 4"); + break; + default: + break; + } } if (StringUtils.isNotBlank(tag)) { lqw.like(StoreProductReply::getReviewTags, tag); } - lqw.orderByDesc(StoreProductReply::getId); + if (StringUtils.isNotBlank(havePics)) { + lqw.isNotNull(StoreProductReply::getPics); + } + if (StringUtils.isNotBlank(latest)) { + lqw.orderByDesc(StoreProductReply::getCreateTime); + } + // lqw.orderByDesc(StoreProductReply::getId); List replyList = dao.selectList(lqw); List responseList = new ArrayList<>(); for (StoreProductReply productReply : replyList) { @@ -404,28 +428,36 @@ public class StoreProductReplyServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(StoreProductReply::getProductId, productId); lqw.eq(StoreProductReply::getIsDel, false); - - switch (type) { - case "all": - break; - case "good": - lqw.apply( " (product_score + service_score) >= 8"); - break; - case "medium": - lqw.apply( " (product_score + service_score) < 8 and (product_score + service_score) > 4"); - break; - case "poor": - lqw.apply( " (product_score + service_score) <= 4"); - break; + if (null != type) { + switch (type) { + case "all": + break; + case "good": + lqw.apply(" (product_score + service_score) >= 8"); + break; + case "medium": + lqw.apply(" (product_score + service_score) < 8 and (product_score + service_score) > 4"); + break; + case "poor": + lqw.apply(" (product_score + service_score) <= 4"); + break; + } + } + if (StringUtils.isNotEmpty(havePics)) { + lqw.isNotNull(StoreProductReply::getPics); } return dao.selectCount(lqw); } + private Integer getCountByScore(Integer productId, String type) { + return getCountByScore(productId, type, null); + } + /** * 如果所有的都已评价,那么订单完成 * @author Mr.Zhang diff --git a/food-service/src/main/resources/mapper/store/ReviewTagCategoryDao.xml b/food-service/src/main/resources/mapper/store/ReviewTagCategoryDao.xml new file mode 100644 index 0000000..94fa9a5 --- /dev/null +++ b/food-service/src/main/resources/mapper/store/ReviewTagCategoryDao.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/food-service/src/main/resources/mapper/store/ReviewTagDao.xml b/food-service/src/main/resources/mapper/store/ReviewTagDao.xml new file mode 100644 index 0000000..c30210a --- /dev/null +++ b/food-service/src/main/resources/mapper/store/ReviewTagDao.xml @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/food-service/src/main/resources/mapper/store/StoreOrderMapper.xml b/food-service/src/main/resources/mapper/store/StoreOrderMapper.xml index 92dd81e..4bf4f28 100644 --- a/food-service/src/main/resources/mapper/store/StoreOrderMapper.xml +++ b/food-service/src/main/resources/mapper/store/StoreOrderMapper.xml @@ -2,6 +2,23 @@ + +