Commit 16c54846 by 周晓航

评价有礼开发

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 46c340c2
package cn.freemud.entities.dto.Evaluation;
import cn.freemud.entities.dto.activity.CheckAndJoinResponse;
import lombok.Data;
@Data
public class OrderEvaluationStatus {
private Integer status;
private CheckAndJoinResponse result;
public OrderEvaluationStatus(Integer status) {
this.status = status;
}
......
package cn.freemud.entities.dto.activity;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/18 下午6:53
* @description :
*/
@Data
public class ActivityRequestCommon {
//订单号
protected String oid;
protected String sessionId;
//门店编号
protected String storeId;
// 版本号 小程序版本 传1
protected Integer ver = 1;
}
package cn.freemud.entities.dto.activity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/18 下午6:57
* @description :
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CheckAndJoinRequest extends ActivityRequestCommon{
/**
* 参与的订单 传递活动号 查询 非必填
*/
private String activityId;
/**
* 订单创建时间 必传
*/
private String orderCreateTime;
}
package cn.freemud.entities.dto.activity;
import lombok.Builder;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/18 下午7:02
* @description :
*/
@Data
public class CheckAndJoinResponse {
/**
* 活动名称
*/
private String activityName;
/**
* id
*/
private String activityId;
/**
* 和 activityId 一致
*/
private String activityNo;
/**
* 送券方式
*/
private Integer sendType;
private Integer type;
private String showEncourage;
private Integer rewardType;
}
......@@ -61,4 +61,8 @@ public class AddUserOrderEvaluationNewRequestVo {
*/
List<AddProductEvaluationReqDto> productEvaluationList;
private String sessionId;
//门店编号
private String storeId;
}
......@@ -5,12 +5,17 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.AddProductEvaluationReqDto;
import cn.freemud.entities.dto.Evaluation.OrderEvaluationStatus;
import cn.freemud.entities.dto.activity.ActivityRequestCommon;
import cn.freemud.entities.dto.activity.CheckAndJoinRequest;
import cn.freemud.entities.dto.activity.CheckAndJoinResponse;
import cn.freemud.entities.vo.AddUserOrderEvaluationNewRequestVo;
import cn.freemud.entities.vo.GetEvaluationDetailByOrderIdRequestVo;
import cn.freemud.entities.vo.GetEvaluationStatusNewRequestVo;
import cn.freemud.enums.EvaluationStatus;
import cn.freemud.enums.ResponseResult;
import cn.freemud.service.EvaluationService;
import cn.freemud.service.thirdparty.ActivityApplicationClient;
import cn.freemud.utils.DateUtils;
import cn.freemud.utils.ResponseUtil;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOrderEvaluation;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentProductEvaluation;
......@@ -30,6 +35,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
......@@ -53,9 +59,12 @@ public class EvaluationServiceImpl implements EvaluationService {
private AssortmentEvaluationManager assortmentEvaluationManager;
@Autowired
private EvaluationAdapter evaluationAdapter;
@Autowired
private ActivityApplicationClient activityApplicationClient;
@Override
public BaseResponse userOrderEvaluationNew(AddUserOrderEvaluationNewRequestVo request) {
OrderEvaluationStatus orderEvaluationStatus = new OrderEvaluationStatus(EvaluationStatus.SUCCESS.getCode());
try {
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(request.getOrderId());
......@@ -64,18 +73,21 @@ public class EvaluationServiceImpl implements EvaluationService {
return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST);
}
QueryOrdersResponse.DataBean.OrderBean order = orderDetailResponse.getData();
// 判断订单是否评价
List<AssortmentOrderEvaluation> orderEvaluationDetails = assortmentEvaluationManager.getOrderEvaluationDetailsByOrderId(request.getOrderId());
if (CollectionUtils.isNotEmpty(orderEvaluationDetails)) {
return ResponseUtil.success(new OrderEvaluationStatus(EvaluationStatus.REPEAT.getCode()));
// 已经评价 查询是否有活动数据
AssortmentOrderEvaluation assortmentOrderEvaluation = orderEvaluationDetails.get(0);
orderEvaluationStatus.setStatus(EvaluationStatus.REPEAT.getCode());
CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request, assortmentOrderEvaluation.getActivityId());
orderEvaluationStatus.setResult(checkAndJoinMsg);
return ResponseUtil.success(orderEvaluationStatus);
}
// fisherman 获取 评价活动数据
// 添加订单评价信息
InsertOrderEvaluationReqDto insertOrderEvaluationReqDto = evaluationAdapter.convent2InsertOrderEvaluationReqDto(request, order);
// fisherman 有评价有礼数据 就设置到对象中
orderEvaluationStatus.setResult(getCheckAndJoinMsg(orderDetailResponse.getData(), request, null));
assortmentEvaluationManager.insertOrderEvaluationDetails(insertOrderEvaluationReqDto);
// 添加订单下的商品评价信息
List<AddProductEvaluationReqDto> addProductEvaluationList = request.getProductEvaluationList();
......@@ -89,7 +101,37 @@ public class EvaluationServiceImpl implements EvaluationService {
ErrorLog.printErrorLog("userOrderEvaluationNewError", "/order/userOrderEvaluationNew", request, ex);
return ResponseUtil.success(new OrderEvaluationStatus(EvaluationStatus.FAIL.getCode()));
}
return ResponseUtil.success(new OrderEvaluationStatus(EvaluationStatus.SUCCESS.getCode()));
return ResponseUtil.success(orderEvaluationStatus);
}
/**
* 获取活动数据 用于校验
*
* @param data
* @param request
* @param activityId
*/
private CheckAndJoinResponse getCheckAndJoinMsg(QueryOrdersResponse.DataBean.OrderBean data, AddUserOrderEvaluationNewRequestVo request, String activityId) {
CheckAndJoinRequest requestCommon = getCheckAndJoinRequest(data, request, activityId);
BaseResponse<CheckAndJoinResponse> checkAndJoin = activityApplicationClient.checkAndJoin(requestCommon);
if (checkAndJoin != null
&& checkAndJoin.getCode().equals(ResponseResult.SUCCESS.getCode())) {
return checkAndJoin.getResult();
}
return null;
}
private CheckAndJoinRequest getCheckAndJoinRequest(QueryOrdersResponse.DataBean.OrderBean data,
AddUserOrderEvaluationNewRequestVo request,
String activityId) {
CheckAndJoinRequest requestCommon = new CheckAndJoinRequest();
requestCommon.setOid(request.getOrderId());
requestCommon.setSessionId(request.getSessionId());
requestCommon.setStoreId(request.getStoreId());
requestCommon.setOrderCreateTime(DateUtil.convert2Str(new Date(data.getGmtCreate()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
requestCommon.setActivityId(activityId);
return requestCommon;
}
@Override
......
......@@ -13,6 +13,8 @@
package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.activity.ActivityRequestCommon;
import cn.freemud.entities.dto.activity.CheckAndJoinResponse;
import cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto;
import cn.freemud.entities.dto.activity.PayGitCheckAndJoinRequestDto;
import org.springframework.cloud.openfeign.FeignClient;
......@@ -29,4 +31,13 @@ public interface ActivityApplicationClient {
*/
@PostMapping("/promotionActivity/payGiftCheckAndJoin")
public BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftCheckAndJoin(@RequestBody PayGitCheckAndJoinRequestDto requestVo);
/**
* 查询可领券活动
* 目前: 评价有礼活动使用
*/
@PostMapping("/promotionActivity/evaluate/checkAndJoin")
public BaseResponse<CheckAndJoinResponse> checkAndJoin(@RequestBody ActivityRequestCommon requestVo);
}
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