Commit 3226a41c by ping.wu

订单评价迁移到订单基础服务

parent ec7f7737
...@@ -4,12 +4,15 @@ import cn.freemud.entities.dto.AddProductEvaluationReqDto; ...@@ -4,12 +4,15 @@ import cn.freemud.entities.dto.AddProductEvaluationReqDto;
import cn.freemud.entities.vo.AddUserOrderEvaluationNewRequestVo; import cn.freemud.entities.vo.AddUserOrderEvaluationNewRequestVo;
import cn.freemud.utils.EmojiUtil; import cn.freemud.utils.EmojiUtil;
import cn.freemud.utils.UnicodeUtil; import cn.freemud.utils.UnicodeUtil;
import com.freemud.api.assortment.datamanager.entity.dto.InsertOrderEvaluationReqDto; import com.freemud.application.sdk.api.ordercenter.request.evaluation.AddEvaluationReq;
import com.freemud.api.assortment.datamanager.entity.dto.InsertProductEvaluationReqDto; import com.freemud.application.sdk.api.ordercenter.request.evaluation.AddProductEvaluationDto;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* All rights Reserved, Designed By www.freemud.com * All rights Reserved, Designed By www.freemud.com
...@@ -26,25 +29,39 @@ import java.util.Date; ...@@ -26,25 +29,39 @@ import java.util.Date;
@Component @Component
public class EvaluationAdapter { public class EvaluationAdapter {
public InsertOrderEvaluationReqDto convent2InsertOrderEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, OrderBeanV1 orderBean) { public AddEvaluationReq convent2InsertOrderEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, OrderInfoReqs orderInfo) {
InsertOrderEvaluationReqDto request = new InsertOrderEvaluationReqDto(); AddEvaluationReq request = new AddEvaluationReq();
request.setCustomer_name(EmojiUtil.filterEmoji(orderBean.getUserName(),"")); request.setCustomerName(EmojiUtil.filterEmoji(orderInfo.getUserName(),""));
request.setCustomer_mobile(orderBean.getPhone()); if(CollectionUtils.isNotEmpty(orderInfo.getDeliveryContactInfoList())){
request.setCustomer_photo_url(reqVo.getCustomerPhotoUrl()); request.setCustomerMobile(orderInfo.getDeliveryContactInfoList().get(0).getMobile());
}
request.setCustomerPhotoUrl(reqVo.getCustomerPhotoUrl());
request.setTaste(getDefaultValue(reqVo.getTaste())); request.setTaste(getDefaultValue(reqVo.getTaste()));
request.setHealth(getDefaultValue(reqVo.getHealth())); request.setHealth(getDefaultValue(reqVo.getHealth()));
request.setService(getDefaultValue(reqVo.getService())); request.setService(getDefaultValue(reqVo.getService()));
request.setDelivery_speed(getDefaultValue(reqVo.getDeliverySpeed())); request.setDeliverySpeed(getDefaultValue(reqVo.getDeliverySpeed()));
request.setSurroundings(getDefaultValue(reqVo.getSurroundings())); request.setSurroundings(getDefaultValue(reqVo.getSurroundings()));
request.setEvaluation_content(UnicodeUtil.filterSpecialChars(reqVo.getEvaluationContent())); request.setEvaluationContent(UnicodeUtil.filterSpecialChars(reqVo.getEvaluationContent()));
request.setCreate_order_time(new Date(orderBean.getGmtCreate())); request.setCreateOrderTime(new Date(Long.parseLong(orderInfo.getCreateTime())));
request.setModify_time(new Date()); // request.setModifyTime(new Date());
request.setCreate_time(new Date()); // request.setCreate_time(new Date());
request.setPartner_id(reqVo.getPartnerId()); request.setPartnerId(reqVo.getPartnerId());
request.setStore_id(orderBean.getShopId()); request.setStoreId(orderInfo.getStoreId());
request.setStore_name(orderBean.getShopName()); request.setStoreName(orderInfo.getStoreName());
request.setOrder_id(reqVo.getOrderId()); request.setOrderId(reqVo.getOrderId());
request.setOrder_type(orderBean.getOrderType()); request.setOrderType(orderInfo.getOrderType());
// 添加订单下的商品评价信息
List<AddProductEvaluationReqDto> addProductEvaluationList = reqVo.getProductEvaluationList();
if (CollectionUtils.isNotEmpty(addProductEvaluationList)) {
List<AddProductEvaluationDto> productEvaluationList = new ArrayList<>();
for (AddProductEvaluationReqDto addProductEvaluationReqDto : addProductEvaluationList) {
AddProductEvaluationDto addProductEvaluationDto = this.convent2InsertProductEvaluationReqDto(reqVo, addProductEvaluationReqDto);
productEvaluationList.add(addProductEvaluationDto);
}
request.setProductEvaluationList(productEvaluationList);
}
return request; return request;
} }
...@@ -55,8 +72,8 @@ public class EvaluationAdapter { ...@@ -55,8 +72,8 @@ public class EvaluationAdapter {
return value; return value;
} }
public InsertProductEvaluationReqDto convent2InsertProductEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, AddProductEvaluationReqDto addProductEvaluationReqDto) { public AddProductEvaluationDto convent2InsertProductEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, AddProductEvaluationReqDto addProductEvaluationReqDto) {
InsertProductEvaluationReqDto request = new InsertProductEvaluationReqDto(); AddProductEvaluationDto request = new AddProductEvaluationDto();
request.setIsCall(addProductEvaluationReqDto.getIsCall() == null ? 0 : addProductEvaluationReqDto.getIsCall()); request.setIsCall(addProductEvaluationReqDto.getIsCall() == null ? 0 : addProductEvaluationReqDto.getIsCall());
request.setOrderId(reqVo.getOrderId()); request.setOrderId(reqVo.getOrderId());
request.setPartnerId(reqVo.getPartnerId()); request.setPartnerId(reqVo.getPartnerId());
......
...@@ -5,4 +5,6 @@ import lombok.Data; ...@@ -5,4 +5,6 @@ import lombok.Data;
@Data @Data
public class GetEvaluationDetailByOrderIdRequestVo { public class GetEvaluationDetailByOrderIdRequestVo {
private String order_id; private String order_id;
private String partnerId;
} }
...@@ -18,6 +18,8 @@ import org.hibernate.validator.constraints.NotEmpty; ...@@ -18,6 +18,8 @@ import org.hibernate.validator.constraints.NotEmpty;
@Data @Data
public class GetEvaluationStatusNewRequestVo { public class GetEvaluationStatusNewRequestVo {
private String partnerId;
private String orderId; private String orderId;
private String sessionId; private String sessionId;
......
...@@ -30,11 +30,6 @@ public interface EvaluationService { ...@@ -30,11 +30,6 @@ public interface EvaluationService {
BaseResponse getEvaluationByOrderId(GetEvaluationDetailByOrderIdRequestVo requestVo); BaseResponse getEvaluationByOrderId(GetEvaluationDetailByOrderIdRequestVo requestVo);
/** /**
* 判断订单是否已经评价
*/
BaseResponse getEvaluationStatus(GetEvaluationDetailByOrderIdRequestVo requestVo);
/**
* 判断订单是否已经评价(新接口) * 判断订单是否已经评价(新接口)
*/ */
BaseResponse getEvaluationStatusNew(GetEvaluationStatusNewRequestVo requestVo); BaseResponse getEvaluationStatusNew(GetEvaluationStatusNewRequestVo requestVo);
......
...@@ -3,7 +3,6 @@ package cn.freemud.service.impl; ...@@ -3,7 +3,6 @@ package cn.freemud.service.impl;
import cn.freemud.adapter.EvaluationAdapter; import cn.freemud.adapter.EvaluationAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.AddProductEvaluationReqDto;
import cn.freemud.entities.dto.Evaluation.OrderEvaluationStatus; import cn.freemud.entities.dto.Evaluation.OrderEvaluationStatus;
import cn.freemud.entities.dto.activity.CheckAndJoinRequest; import cn.freemud.entities.dto.activity.CheckAndJoinRequest;
import cn.freemud.entities.dto.activity.CheckAndJoinResponse; import cn.freemud.entities.dto.activity.CheckAndJoinResponse;
...@@ -12,29 +11,24 @@ import cn.freemud.entities.vo.GetEvaluationDetailByOrderIdRequestVo; ...@@ -12,29 +11,24 @@ import cn.freemud.entities.vo.GetEvaluationDetailByOrderIdRequestVo;
import cn.freemud.entities.vo.GetEvaluationStatusNewRequestVo; import cn.freemud.entities.vo.GetEvaluationStatusNewRequestVo;
import cn.freemud.enums.EvaluationStatus; import cn.freemud.enums.EvaluationStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.EvaluationService; import cn.freemud.service.EvaluationService;
import cn.freemud.service.thirdparty.ActivityApplicationClient; import cn.freemud.service.thirdparty.ActivityApplicationClient;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOrderEvaluation;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentProductEvaluation;
import com.freemud.api.assortment.datamanager.entity.dto.InsertOrderEvaluationReqDto;
import com.freemud.api.assortment.datamanager.entity.dto.InsertProductEvaluationReqDto;
import com.freemud.api.assortment.datamanager.entity.vo.GetEvaluationDetailByOrderIdRepVo; import com.freemud.api.assortment.datamanager.entity.vo.GetEvaluationDetailByOrderIdRepVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentEvaluationManager;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest; import com.freemud.application.sdk.api.ordercenter.request.evaluation.*;
import com.freemud.sdk.api.assortment.order.response.order.OrderDetailResponse; import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -54,9 +48,7 @@ import java.util.List; ...@@ -54,9 +48,7 @@ import java.util.List;
public class EvaluationServiceImpl implements EvaluationService { public class EvaluationServiceImpl implements EvaluationService {
@Autowired @Autowired
private OrderCenterSdkService orderCenterSdkService; private OrderSdkService orderSdkService;
@Autowired
private AssortmentEvaluationManager assortmentEvaluationManager;
@Autowired @Autowired
private EvaluationAdapter evaluationAdapter; private EvaluationAdapter evaluationAdapter;
@Autowired @Autowired
...@@ -66,41 +58,36 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -66,41 +58,36 @@ public class EvaluationServiceImpl implements EvaluationService {
public BaseResponse userOrderEvaluationNew(AddUserOrderEvaluationNewRequestVo request) { public BaseResponse userOrderEvaluationNew(AddUserOrderEvaluationNewRequestVo request) {
OrderEvaluationStatus orderEvaluationStatus = new OrderEvaluationStatus(EvaluationStatus.SUCCESS.getCode()); OrderEvaluationStatus orderEvaluationStatus = new OrderEvaluationStatus(EvaluationStatus.SUCCESS.getCode());
try { try {
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest(); QueryByCodeResponse orderDetailResponse = orderSdkService.getOrderInfo("", request.getOrderId(), "", null, LogThreadLocal.getTrackingNo());
baseQueryOrderRequest.setOrderId(request.getOrderId()); if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getCode() + "") || orderDetailResponse.getResult() == null) {
OrderDetailResponse orderDetailResponse = orderCenterSdkService.getByIdForParentProduct(baseQueryOrderRequest);
if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getErrcode() + "") || orderDetailResponse.getData() == null) {
return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST); return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST);
} }
OrderBeanV1 order = orderDetailResponse.getData(); OrderInfoReqs orderInfo = orderDetailResponse.getResult();
// 判断订单是否评价 // 判断订单是否评价
List<AssortmentOrderEvaluation> orderEvaluationDetails = assortmentEvaluationManager.getOrderEvaluationDetailsByOrderId(request.getOrderId()); GetEvaluationsByOrderIdReq getEvaluationsByOrderIdReq = new GetEvaluationsByOrderIdReq();
getEvaluationsByOrderIdReq.setOrderId(request.getOrderId());
getEvaluationsByOrderIdReq.setPartnerId(request.getPartnerId());
OrderBaseResp<GetEvaluationsByOrderIdResultDto> evaluationsByOrderId = orderSdkService.getEvaluationsByOrderId(getEvaluationsByOrderIdReq, LogThreadLocal.getTrackingNo());
List<GetOrderEvaluationDto> orderEvaluationDetails = evaluationsByOrderId.getResult().getOrderEvaluations();
if (CollectionUtils.isNotEmpty(orderEvaluationDetails)) { if (CollectionUtils.isNotEmpty(orderEvaluationDetails)) {
// 已经评价 查询是否有活动数据 // 已经评价 查询是否有活动数据
AssortmentOrderEvaluation assortmentOrderEvaluation = orderEvaluationDetails.get(0); GetOrderEvaluationDto assortmentOrderEvaluation = orderEvaluationDetails.get(0);
orderEvaluationStatus.setStatus(EvaluationStatus.REPEAT.getCode()); orderEvaluationStatus.setStatus(EvaluationStatus.REPEAT.getCode());
CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), request.getOrderId(), assortmentOrderEvaluation.getActivityId()); CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderInfo, request.getSessionId(), request.getOrderId(), assortmentOrderEvaluation.getActivityId());
orderEvaluationStatus.setResult(checkAndJoinMsg); orderEvaluationStatus.setResult(checkAndJoinMsg);
return ResponseUtil.success(orderEvaluationStatus); return ResponseUtil.success(orderEvaluationStatus);
} }
// 添加订单评价信息 // 添加订单评价信息
InsertOrderEvaluationReqDto insertOrderEvaluationReqDto = evaluationAdapter.convent2InsertOrderEvaluationReqDto(request, order); AddEvaluationReq requestDto = evaluationAdapter.convent2InsertOrderEvaluationReqDto(request, orderInfo);
// fisherman 有评价有礼数据 就设置到对象中 // fisherman 有评价有礼数据 就设置到对象中
CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), request.getOrderId(), null); CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderInfo, request.getSessionId(), request.getOrderId(), null);
orderEvaluationStatus.setResult(checkAndJoinMsg); orderEvaluationStatus.setResult(checkAndJoinMsg);
if (checkAndJoinMsg !=null) { if (checkAndJoinMsg !=null) {
insertOrderEvaluationReqDto.setActivityId(checkAndJoinMsg.getActivityId()); requestDto.setActivityId(checkAndJoinMsg.getActivityId());
}
assortmentEvaluationManager.insertOrderEvaluationDetails(insertOrderEvaluationReqDto);
// 添加订单下的商品评价信息
List<AddProductEvaluationReqDto> addProductEvaluationList = request.getProductEvaluationList();
if (CollectionUtils.isNotEmpty(addProductEvaluationList)) {
for (AddProductEvaluationReqDto addProductEvaluationReqDto : addProductEvaluationList) {
InsertProductEvaluationReqDto insertProductEvaluationReqDto = evaluationAdapter.convent2InsertProductEvaluationReqDto(request, addProductEvaluationReqDto);
assortmentEvaluationManager.insertProductEvaluation(insertProductEvaluationReqDto);
}
} }
orderSdkService.addEvaluation(requestDto, LogThreadLocal.getTrackingNo());
} catch (Exception ex) { } catch (Exception ex) {
ErrorLog.errorConvertJson(this.getClass(), "userOrderEvaluationNewError /order/userOrderEvaluationNew" + JSON.toJSONString(request), ex); ErrorLog.errorConvertJson(this.getClass(), "userOrderEvaluationNewError /order/userOrderEvaluationNew" + JSON.toJSONString(request), ex);
return ResponseUtil.success(new OrderEvaluationStatus(EvaluationStatus.FAIL.getCode())); return ResponseUtil.success(new OrderEvaluationStatus(EvaluationStatus.FAIL.getCode()));
...@@ -111,13 +98,12 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -111,13 +98,12 @@ public class EvaluationServiceImpl implements EvaluationService {
/** /**
* 获取活动数据 用于校验 * 获取活动数据 用于校验
* *
* @param data
* @param sessionId * @param sessionId
* @param orderId * @param orderId
* @param activityId * @param activityId
* @return * @return
*/ */
private CheckAndJoinResponse getCheckAndJoinMsg(OrderBeanV1 data, private CheckAndJoinResponse getCheckAndJoinMsg(OrderInfoReqs orderInfo,
String sessionId, String sessionId,
String orderId, String orderId,
String activityId) { String activityId) {
...@@ -128,29 +114,19 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -128,29 +114,19 @@ public class EvaluationServiceImpl implements EvaluationService {
if (StringUtils.isEmpty(activityId)) { if (StringUtils.isEmpty(activityId)) {
activityId =null; activityId =null;
} }
CheckAndJoinRequest requestCommon = getCheckAndJoinRequest(data, sessionId, orderId, activityId); CheckAndJoinRequest requestCommon = new CheckAndJoinRequest();
requestCommon.setOid(orderId);
requestCommon.setSessionId(sessionId);
requestCommon.setStoreId(orderInfo.getStoreId());
requestCommon.setOrderCreateTime(DateUtil.convert2Str(new Date(Long.parseLong(orderInfo.getCreateTime())), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
requestCommon.setActivityId(activityId);
BaseResponse<CheckAndJoinResponse> checkAndJoin = activityApplicationClient.checkAndJoin(requestCommon); BaseResponse<CheckAndJoinResponse> checkAndJoin = activityApplicationClient.checkAndJoin(requestCommon);
// LogUtil.info("请求活动-评价有礼",requestCommon, checkAndJoin); if (checkAndJoin != null && checkAndJoin.getCode().equals(ResponseResult.SUCCESS.getCode())) {
if (checkAndJoin != null
&& checkAndJoin.getCode().equals(ResponseResult.SUCCESS.getCode())) {
return checkAndJoin.getResult(); return checkAndJoin.getResult();
} }
return null; return null;
} }
private CheckAndJoinRequest getCheckAndJoinRequest(OrderBeanV1 data,
String sessionId,
String orderId,
String activityId) {
CheckAndJoinRequest requestCommon = new CheckAndJoinRequest();
requestCommon.setOid(orderId);
requestCommon.setSessionId(sessionId);
requestCommon.setStoreId(data.getShopId());
requestCommon.setOrderCreateTime(DateUtil.convert2Str(new Date(data.getGmtCreate()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
requestCommon.setActivityId(activityId);
return requestCommon;
}
@Override @Override
public BaseResponse getEvaluationByOrderId(GetEvaluationDetailByOrderIdRequestVo request) { public BaseResponse getEvaluationByOrderId(GetEvaluationDetailByOrderIdRequestVo request) {
...@@ -160,18 +136,24 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -160,18 +136,24 @@ public class EvaluationServiceImpl implements EvaluationService {
/** /**
* 根据order_id 查询订单评价详情 * 根据order_id 查询订单评价详情
*/ */
List<AssortmentOrderEvaluation> orderEvaluationListAmount = assortmentEvaluationManager.getOrderEvaluationDetailsByOrderId(request.getOrder_id()); GetEvaluationsByOrderIdReq getEvaluationsByOrderIdReq = new GetEvaluationsByOrderIdReq();
if (orderEvaluationListAmount != null && orderEvaluationListAmount.size() > 0) { getEvaluationsByOrderIdReq.setOrderId(request.getOrder_id());
getEvaluationsByOrderIdReq.setPartnerId(request.getPartnerId());
OrderBaseResp<GetEvaluationsByOrderIdResultDto> evaluationsByOrderId = orderSdkService.getEvaluationsByOrderId(getEvaluationsByOrderIdReq, LogThreadLocal.getTrackingNo());
if(evaluationsByOrderId == null || evaluationsByOrderId.getResult() == null || evaluationsByOrderId.getResult().getOrderEvaluations() == null){
return ResponseUtil.success();
}
if (evaluationsByOrderId.getResult().getOrderEvaluations().size() > 0) {
/** /**
* 查询对应订单的商品详情 * 查询对应订单的商品详情
*/ */
List<GetEvaluationDetailByOrderIdRepVo> getEvaluationDetailByOrderIdList = new ArrayList<>(); List<GetEvaluationDetailByOrderIdRepVo> getEvaluationDetailByOrderIdList = new ArrayList<>();
for (AssortmentOrderEvaluation orderEvaluation : orderEvaluationListAmount) { for (GetOrderEvaluationDto orderEvaluation : evaluationsByOrderId.getResult().getOrderEvaluations()) {
GetEvaluationDetailByOrderIdRepVo getEvaluationDetailByOrderIdRepVo = new GetEvaluationDetailByOrderIdRepVo(); GetEvaluationDetailByOrderIdRepVo getEvaluationDetailByOrderIdRepVo = new GetEvaluationDetailByOrderIdRepVo();
List<AssortmentProductEvaluation> productEvaluationList = assortmentEvaluationManager.getProductEvalutionDetailsByOrderIds(Arrays.asList(orderEvaluation.getOrderId()));
List<GetEvaluationDetailByOrderIdRepVo.ProductListVo> productList = new ArrayList<>(); List<GetEvaluationDetailByOrderIdRepVo.ProductListVo> productList = new ArrayList<>();
if (productEvaluationList != null && productEvaluationList.size() > 0) { if (orderEvaluation.getProductEvaluationList() != null && orderEvaluation.getProductEvaluationList().size() > 0) {
for (AssortmentProductEvaluation productEvaluation : productEvaluationList) { for (GetProductEvaluationDto productEvaluation : orderEvaluation.getProductEvaluationList()) {
GetEvaluationDetailByOrderIdRepVo.ProductListVo productListVo = new GetEvaluationDetailByOrderIdRepVo.ProductListVo(); GetEvaluationDetailByOrderIdRepVo.ProductListVo productListVo = new GetEvaluationDetailByOrderIdRepVo.ProductListVo();
productListVo.setIs_call(productEvaluation.getIsCall()); productListVo.setIs_call(productEvaluation.getIsCall());
productListVo.setProduct_name(productEvaluation.getProductName()); productListVo.setProduct_name(productEvaluation.getProductName());
...@@ -200,37 +182,30 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -200,37 +182,30 @@ public class EvaluationServiceImpl implements EvaluationService {
} }
@Override @Override
public BaseResponse getEvaluationStatus(GetEvaluationDetailByOrderIdRequestVo request) {
List<AssortmentOrderEvaluation> orderEvaluationListAmount = assortmentEvaluationManager.getOrderEvaluationDetailsByOrderId(request.getOrder_id());
if (orderEvaluationListAmount != null && orderEvaluationListAmount.size() > 0) {
return ResponseUtil.success(new OrderEvaluationStatus(1));
} else {
return ResponseUtil.success(new OrderEvaluationStatus(2));
}
}
@Override
public BaseResponse getEvaluationStatusNew(GetEvaluationStatusNewRequestVo request) { public BaseResponse getEvaluationStatusNew(GetEvaluationStatusNewRequestVo request) {
if (StringUtils.isEmpty(request.getOrderId())) { if (StringUtils.isEmpty(request.getOrderId())) {
return ResponseUtil.success(new OrderEvaluationStatus(2)); return ResponseUtil.success(new OrderEvaluationStatus(2));
} }
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(request.getOrderId()); QueryByCodeResponse orderDetailResponse = orderSdkService.getOrderInfo("", request.getOrderId(), "", null, LogThreadLocal.getTrackingNo());
OrderDetailResponse orderDetailResponse = orderCenterSdkService.getByIdForParentProduct(baseQueryOrderRequest); if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getCode() + "") || orderDetailResponse.getResult() == null) {
if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getErrcode() + "") || orderDetailResponse.getData() == null) { return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST);
throw new ServiceException(ResponseResult.ORDER_NOT_EXIST);
} }
OrderEvaluationStatus orderEvaluationStatus = new OrderEvaluationStatus(1); OrderEvaluationStatus orderEvaluationStatus = new OrderEvaluationStatus(1);
List<AssortmentOrderEvaluation> orderEvaluationListAmount = assortmentEvaluationManager.getOrderEvaluationDetailsByOrderId(request.getOrderId());
GetEvaluationsByOrderIdReq getEvaluationsByOrderIdReq = new GetEvaluationsByOrderIdReq();
getEvaluationsByOrderIdReq.setOrderId(request.getOrderId());
getEvaluationsByOrderIdReq.setPartnerId(request.getPartnerId());
OrderBaseResp<GetEvaluationsByOrderIdResultDto> evaluationsByOrderId = orderSdkService.getEvaluationsByOrderId(getEvaluationsByOrderIdReq, LogThreadLocal.getTrackingNo());
CheckAndJoinResponse checkAndJoinMsg; CheckAndJoinResponse checkAndJoinMsg;
if (orderEvaluationListAmount != null && orderEvaluationListAmount.size() > 0) { if (evaluationsByOrderId != null && evaluationsByOrderId.getResult() != null && evaluationsByOrderId.getResult().getOrderEvaluations().size() > 0) {
// 获取 评价有礼活动 // 获取 评价有礼活动
AssortmentOrderEvaluation assortmentOrderEvaluation = orderEvaluationListAmount.get(0); GetOrderEvaluationDto assortmentOrderEvaluation = evaluationsByOrderId.getResult().getOrderEvaluations().get(0);
checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), assortmentOrderEvaluation.getOrderId(), assortmentOrderEvaluation.getActivityId()); checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getResult(), request.getSessionId(), assortmentOrderEvaluation.getOrderId(), assortmentOrderEvaluation.getActivityId());
} else { } else {
orderEvaluationStatus.setStatus(2); orderEvaluationStatus.setStatus(2);
checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), request.getOrderId(), null); checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getResult(), request.getSessionId(), request.getOrderId(), null);
} }
orderEvaluationStatus.setResult(checkAndJoinMsg); orderEvaluationStatus.setResult(checkAndJoinMsg);
return ResponseUtil.success(orderEvaluationStatus); return ResponseUtil.success(orderEvaluationStatus);
......
...@@ -281,4 +281,14 @@ public class InterfaceAddressConstant { ...@@ -281,4 +281,14 @@ public class InterfaceAddressConstant {
*/ */
public static final String QUERY_APPEAL = "order/v2/queryOrderAppeal"; public static final String QUERY_APPEAL = "order/v2/queryOrderAppeal";
/**
* 添加评价
*/
public static final String ADD_EVALUATION = "evaluation/addEvaluation";
/**
* 根据订单号查看订单评价详情
*/
public static final String QUERY_EVALUATION = "evaluation/getEvaluationsByOrderId";
} }
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class AddEvaluationReq {
/**
* 用户头像地址(暂不记入文档)
*/
private String customerPhotoUrl;
/**
* 商户号
*/
private String partnerId;
/**
* 订单号
*/
private String orderId;
/**
* 环境
*/
private Integer surroundings;
/**
* 卫生
*/
private Integer health;
/**
* 口味
*/
private Integer taste;
/**
* 服务
*/
private Integer service;
/**
* 配送速度
*/
private Integer deliverySpeed;
/**
* 评价内容
*/
private String evaluationContent;
/**
* 参与评论有礼活动ID
*/
private String activityId;
/**
* 顾客姓名
*/
private String customerName;
/**
* 顾客手机号
*/
private String customerMobile;
/**
* 门店编号
*/
private String storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 下单时间
*/
private Date createOrderTime;
/**
* 订单编号
*/
private Integer orderType;
/**
* 商品评价详情
*/
private List<AddProductEvaluationDto> productEvaluationList;
}
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
@Data
public class AddProductEvaluationDto {
private String partnerId;
private String productId;
private String orderId;
private String productName;
private Integer productQty;
/**
* 点赞详情,0代表未做操作,1 点赞 ,2 点踩
*/
private Integer isCall;
}
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class GetEvaluationsByOrderIdReq {
private String partnerId;
@NotBlank(message = "订单号不能为空")
private String orderId;
}
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
import java.util.List;
@Data
public class GetEvaluationsByOrderIdResultDto {
private List<GetOrderEvaluationDto> orderEvaluations;
}
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class GetOrderEvaluationDto {
private String partnerId;
private String customerName;
private String customerMobile;
private String customerPhotoUrl;
private String storeId;
private String storeName;
private Date createOrderTime;
private String orderId;
private Integer orderType;
private Integer surroundings;
private Integer health;
private Integer taste;
private Integer service;
private Integer deliverySpeed;
private Date createTime;
private Date modifyTime;
private String evaluationContent;
private String activityId;
private List<GetProductEvaluationDto> productEvaluationList;
}
package com.freemud.application.sdk.api.ordercenter.request.evaluation;
import lombok.Data;
import java.util.Date;
@Data
public class GetProductEvaluationDto {
private Integer id;
private String partnerId;
private String orderId;
private String productId;
private String productName;
private Integer productQty;
private Integer isCall;
private Date createTime;
private Date modifyTime;
}
...@@ -15,6 +15,9 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderR ...@@ -15,6 +15,9 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderR
import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCodesReq; import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCodesReq;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq; import com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest; import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest;
import com.freemud.application.sdk.api.ordercenter.request.evaluation.AddEvaluationReq;
import com.freemud.application.sdk.api.ordercenter.request.evaluation.GetEvaluationsByOrderIdReq;
import com.freemud.application.sdk.api.ordercenter.request.evaluation.GetEvaluationsByOrderIdResultDto;
import com.freemud.application.sdk.api.ordercenter.response.*; import com.freemud.application.sdk.api.ordercenter.response.*;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
...@@ -1004,4 +1007,25 @@ public class OrderSdkService { ...@@ -1004,4 +1007,25 @@ public class OrderSdkService {
}); });
return responseHandle(responseDTO); return responseHandle(responseDTO);
} }
/**
* 添加评价
*/
public OrderBaseResp addEvaluation(AddEvaluationReq request, String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, ADD_EVALUATION,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
/**
* 根据订单号查看订单评价详情
*/
public OrderBaseResp<GetEvaluationsByOrderIdResultDto> getEvaluationsByOrderId(GetEvaluationsByOrderIdReq request, String trackingNo) {
OrderBaseResp<GetEvaluationsByOrderIdResultDto> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, QUERY_EVALUATION,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<GetEvaluationsByOrderIdResultDto>>() {
});
return responseHandle(responseDTO);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment