From f5b1a2df06ef307072beeab9fde37ceff78fc3ea Mon Sep 17 00:00:00 2001 From: Junling Bu Date: Sun, 11 Nov 2018 16:58:12 +0800 Subject: [PATCH] =?UTF-8?q?feat[litemall-admin-api,=20litemall-admin]:=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=90=8E=E5=8F=B0=E6=94=AF=E6=8C=81=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E5=9B=9E=E5=A4=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/web/AdminOrderController.java | 51 +++++++++++++++++-- litemall-admin/src/api/order.js | 8 +++ litemall-admin/src/views/goods/comment.vue | 43 ++++++++++++++-- 3 files changed, 93 insertions(+), 9 deletions(-) diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java index 7cdb253c..99a7ddb2 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java @@ -9,10 +9,7 @@ import org.linlinjava.litemall.core.util.JacksonUtil; import org.linlinjava.litemall.core.validator.Order; import org.linlinjava.litemall.core.validator.Sort; import org.linlinjava.litemall.db.domain.*; -import org.linlinjava.litemall.db.service.LitemallOrderGoodsService; -import org.linlinjava.litemall.db.service.LitemallOrderService; -import org.linlinjava.litemall.db.service.LitemallGoodsProductService; -import org.linlinjava.litemall.db.service.LitemallUserService; +import org.linlinjava.litemall.db.service.*; import org.linlinjava.litemall.db.util.OrderUtil; import org.linlinjava.litemall.core.util.ResponseUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -21,12 +18,14 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition; +import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -48,6 +47,8 @@ public class AdminOrderController { private LitemallGoodsProductService productService; @Autowired private LitemallUserService userService; + @Autowired + private LitemallCommentService commentService; @Autowired private NotifyService notifyService; @@ -220,6 +221,48 @@ public class AdminOrderController { return ResponseUtil.ok(); } + + /** + * 回复订单商品 + * + * @param adminId 管理员ID + * @param body 订单信息,{ orderId:xxx } + * @return 订单操作结果 + * 成功则 { errno: 0, errmsg: '成功' } + * 失败则 { errno: XXX, errmsg: XXX } + */ + @PostMapping("reply") + public Object reply(@LoginAdmin Integer adminId, @RequestBody String body) { + if (adminId == null) { + return ResponseUtil.unlogin(); + } + + Integer commentId = JacksonUtil.parseInteger(body, "commentId"); + if(commentId == null || commentId == 0){ + return ResponseUtil.badArgument(); + } + // 目前只支持回复一次 + if(commentService.findById(commentId) != null){ + return ResponseUtil.fail(404, "订单商品已回复!"); + } + String content = JacksonUtil.parseString(body, "content"); + if(StringUtils.isEmpty(content)){ + return ResponseUtil.badArgument(); + } + // 创建评价回复 + LitemallComment comment = new LitemallComment(); + comment.setType((byte)2); + comment.setValueId(commentId); + comment.setContent(content); + comment.setUserId(0); // 评价回复没有用 + comment.setStar((short)0); // 评价回复没有用 + comment.setHasPicture(false); // 评价回复没有用 + comment.setPicUrls(new String[]{}); // 评价回复没有用 + commentService.save(comment); + + return ResponseUtil.ok(); + } + /** * 自动取消订单 *

diff --git a/litemall-admin/src/api/order.js b/litemall-admin/src/api/order.js index 49388c9a..44d3abe9 100644 --- a/litemall-admin/src/api/order.js +++ b/litemall-admin/src/api/order.js @@ -35,3 +35,11 @@ export function refundOrder(data) { data }) } + +export function replyComment(data) { + return request({ + url: '/order/reply', + method: 'post', + data + }) +} diff --git a/litemall-admin/src/views/goods/comment.vue b/litemall-admin/src/views/goods/comment.vue index 08270455..77f4b376 100644 --- a/litemall-admin/src/views/goods/comment.vue +++ b/litemall-admin/src/views/goods/comment.vue @@ -20,6 +20,9 @@ + + + @@ -47,12 +50,25 @@ + + + + + + + +

+ +