From 92109cc7e73c8018b3b99a916da21b2ac42a0703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=87=91=E9=B9=8F?= Date: Thu, 12 Sep 2019 11:23:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=A1=E6=84=8F=E5=BA=A6=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/ApiItemController.java | 12 +++++--- .../esua/epdc/feign/ItemFeignClient.java | 6 ++++ .../fallback/ItemFeignClientFallback.java | 6 ++++ .../elink/esua/epdc/service/ItemService.java | 4 +++ .../epdc/service/impl/ItemServiceImpl.java | 8 +++++ .../epdc/dto/item/form/EvaluationFormDTO.java | 29 +++++++++++++++++++ .../controller/EpdcAppItemController.java | 14 ++++++--- .../modules/item/service/ItemService.java | 4 +++ .../item/service/impl/ItemServiceImpl.java | 15 ++++++++++ 9 files changed, 90 insertions(+), 8 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java index 99857402e..abef7555d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java @@ -3,15 +3,13 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.service.ItemService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -50,4 +48,10 @@ public class ApiItemController { public Result itemDetail(@LoginUser TokenDto userDetail, @PathVariable String itemId) { return itemService.getItemDetail(userDetail, itemId); } + + + @PostMapping("evaluation") + public Result evaluation(@LoginUser TokenDto userDetail, EvaluationFormDTO evaluationFormDTO) { + return itemService.evaluation(userDetail,evaluationFormDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java index 2b1174396..37bae85cc 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; @@ -10,6 +11,7 @@ import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -40,4 +42,8 @@ public interface ItemFeignClient { */ @GetMapping(value = "events/epdc-app/item/detail", consumes = MediaType.APPLICATION_JSON_VALUE) Result getItemDetail(ItemDetailFormDTO formDto); + + + @PostMapping(value = "events/epdc-app/item/evaluation", consumes = MediaType.APPLICATION_JSON_VALUE) + Result evaluation(EvaluationFormDTO evaluationFormDTO); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java index 2f2daa9bd..4b3e84775 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; @@ -28,4 +29,9 @@ public class ItemFeignClientFallback implements ItemFeignClient { public Result getItemDetail(ItemDetailFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getItemDetail", formDto); } + + @Override + public Result evaluation(EvaluationFormDTO evaluationFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "evaluation", evaluationFormDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java index 7b3594574..2bf587ba3 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO; @@ -32,4 +33,7 @@ public interface ItemService { * @Date: 2019/9/10 20:42 */ Result getItemDetail(TokenDto userDetail, String itemId); + + Result evaluation(TokenDto userDetail, EvaluationFormDTO evaluationFormDTO); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java index da272fac3..eb951070f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; @@ -37,4 +38,11 @@ public class ItemServiceImpl implements ItemService { formDto.setItemId(itemId); return itemFeignClient.getItemDetail(formDto); } + + + @Override + public Result evaluation(TokenDto userDetail, EvaluationFormDTO evaluationFormDTO) { + evaluationFormDTO.setUserId(userDetail.getUserId()); + return itemFeignClient.evaluation(evaluationFormDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java new file mode 100644 index 000000000..ae39db883 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto.item.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @Author LC + * @Date 2019/9/9 16:24 + */ +@Data +public class EvaluationFormDTO implements Serializable { + private static final long serialVersionUID = -3034807666143092535L; + + @NotBlank(message = "项目ID不能为空") + private String itemId; + + @NotBlank(message = "满意度评价得分不能为空") + private int evaluationScore; + + @NotBlank(message = "满意度评价内容不能为空") + private String evaluationContent; + + private String userId; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java index 1536db132..c6d2acda1 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java @@ -3,16 +3,14 @@ package com.elink.esua.epdc.modules.item.controller; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.modules.item.service.ItemService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -53,4 +51,12 @@ public class EpdcAppItemController { ValidatorUtils.validateEntity(formDto); return this.itemService.getItemDetail(formDto); } + + @PostMapping("evaluation") + public Result evaluation(@RequestBody EvaluationFormDTO evaluationFormDTO) { + ValidatorUtils.validateEntity(evaluationFormDTO); + return this.itemService.evaluation(evaluationFormDTO); + } + + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index 9ef285e05..14caea99a 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.item.ItemDTO; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; @@ -124,4 +125,7 @@ public interface ItemService extends BaseService { * @Date: 2019/9/10 20:54 */ Result getItemDetail(ItemDetailFormDTO formDto); + + + Result evaluation(EvaluationFormDTO evaluationFormDTO); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 981ac9924..402ed90c0 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.item.ItemDTO; +import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; @@ -133,4 +134,18 @@ public class ItemServiceImpl extends BaseServiceImpl implem return new Result().ok(resultDTO); } + @Override + public Result evaluation(EvaluationFormDTO evaluationFormDTO) { + ItemEntity itemEntityResult = baseDao.selectById(evaluationFormDTO.getItemId()); + if (itemEntityResult.getUserId().equals(evaluationFormDTO.getUserId()) && itemEntityResult.getEvaluationScore() == null){ + ItemEntity itemEntity = new ItemEntity(); + itemEntity.setId(evaluationFormDTO.getItemId()); + itemEntity.setEvaluationScore(evaluationFormDTO.getEvaluationScore()); + itemEntity.setEvaluationContent(evaluationFormDTO.getEvaluationContent()); + baseDao.updateById(itemEntity); + return new Result(); + }else { + return new Result().error("您无法评价"); + } + } }