Commit 6235f331 by ping.wu

Merge branches 'feature/20220105_无单收银支持储值卡_wuping' and 'master' of…

Merge branches 'feature/20220105_无单收银支持储值卡_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group
parents 843f4682 f86f9df8
......@@ -98,7 +98,7 @@ public class CreateOrderAdapter {
requestDto.setUnionPayCard(u);
}
// 转换 fisherman end
requestDto.setStoreId(createOrderBo.getCreateOrderBaseVo().getShopId());
// requestDto.setStoreId(createOrderBo.getCreateOrderBaseVo().getShopId());
requestDto.setChannel(createOrderBo.getCreateOrderBaseVo().getChannel());
return requestDto;
}
......
......@@ -4,12 +4,15 @@ import cn.freemud.entities.dto.AddProductEvaluationReqDto;
import cn.freemud.entities.vo.AddUserOrderEvaluationNewRequestVo;
import cn.freemud.utils.EmojiUtil;
import cn.freemud.utils.UnicodeUtil;
import com.freemud.api.assortment.datamanager.entity.dto.InsertOrderEvaluationReqDto;
import com.freemud.api.assortment.datamanager.entity.dto.InsertProductEvaluationReqDto;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.request.evaluation.AddEvaluationReq;
import com.freemud.application.sdk.api.ordercenter.request.evaluation.AddProductEvaluationDto;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.com
......@@ -26,25 +29,39 @@ import java.util.Date;
@Component
public class EvaluationAdapter {
public InsertOrderEvaluationReqDto convent2InsertOrderEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, OrderBeanV1 orderBean) {
InsertOrderEvaluationReqDto request = new InsertOrderEvaluationReqDto();
request.setCustomer_name(EmojiUtil.filterEmoji(orderBean.getUserName(),""));
request.setCustomer_mobile(orderBean.getPhone());
request.setCustomer_photo_url(reqVo.getCustomerPhotoUrl());
public AddEvaluationReq convent2InsertOrderEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, OrderInfoReqs orderInfo) {
AddEvaluationReq request = new AddEvaluationReq();
request.setCustomerName(EmojiUtil.filterEmoji(orderInfo.getUserName(),""));
if(CollectionUtils.isNotEmpty(orderInfo.getDeliveryContactInfoList())){
request.setCustomerMobile(orderInfo.getDeliveryContactInfoList().get(0).getMobile());
}
request.setCustomerPhotoUrl(reqVo.getCustomerPhotoUrl());
request.setTaste(getDefaultValue(reqVo.getTaste()));
request.setHealth(getDefaultValue(reqVo.getHealth()));
request.setService(getDefaultValue(reqVo.getService()));
request.setDelivery_speed(getDefaultValue(reqVo.getDeliverySpeed()));
request.setDeliverySpeed(getDefaultValue(reqVo.getDeliverySpeed()));
request.setSurroundings(getDefaultValue(reqVo.getSurroundings()));
request.setEvaluation_content(UnicodeUtil.filterSpecialChars(reqVo.getEvaluationContent()));
request.setCreate_order_time(new Date(orderBean.getGmtCreate()));
request.setModify_time(new Date());
request.setCreate_time(new Date());
request.setPartner_id(reqVo.getPartnerId());
request.setStore_id(orderBean.getShopId());
request.setStore_name(orderBean.getShopName());
request.setOrder_id(reqVo.getOrderId());
request.setOrder_type(orderBean.getOrderType());
request.setEvaluationContent(UnicodeUtil.filterSpecialChars(reqVo.getEvaluationContent()));
request.setCreateOrderTime(new Date(Long.parseLong(orderInfo.getCreateTime())));
// request.setModifyTime(new Date());
// request.setCreate_time(new Date());
request.setPartnerId(reqVo.getPartnerId());
request.setStoreId(orderInfo.getStoreId());
request.setStoreName(orderInfo.getStoreName());
request.setOrderId(reqVo.getOrderId());
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;
}
......@@ -55,8 +72,8 @@ public class EvaluationAdapter {
return value;
}
public InsertProductEvaluationReqDto convent2InsertProductEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, AddProductEvaluationReqDto addProductEvaluationReqDto) {
InsertProductEvaluationReqDto request = new InsertProductEvaluationReqDto();
public AddProductEvaluationDto convent2InsertProductEvaluationReqDto(AddUserOrderEvaluationNewRequestVo reqVo, AddProductEvaluationReqDto addProductEvaluationReqDto) {
AddProductEvaluationDto request = new AddProductEvaluationDto();
request.setIsCall(addProductEvaluationReqDto.getIsCall() == null ? 0 : addProductEvaluationReqDto.getIsCall());
request.setOrderId(reqVo.getOrderId());
request.setPartnerId(reqVo.getPartnerId());
......
......@@ -668,7 +668,8 @@ public class OrderAdapter {
} else {
orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex(), OrderClientType.APP.getIndex());
bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType(), BizTypeEnum.ADVANCE_ORDER.getBizType());
queryOrdersDto.setMarketingTypes(Arrays.asList(MarketTypeEnum.ORDER.getIndex(), MarketTypeEnum.COLLAGE.getIndex(), MarketTypeEnum.WE_CHAT_LIVE_SELL.getIndex()));
queryOrdersDto.setMarketingTypes(Arrays.asList(MarketTypeEnum.ORDER.getIndex(), MarketTypeEnum.COLLAGE.getIndex(),
MarketTypeEnum.WE_CHAT_LIVE_SELL.getIndex(),MarketTypeEnum.CASHIER.getIndex()));
}
List<Integer> payStatus = Arrays.asList(PayStatus.HAVE_PAID.getCode(), PayStatus.HAVE_REFUND.getCode(), PayStatus.COMPLETE.getCode());
queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray());
......@@ -1012,7 +1013,7 @@ public class OrderAdapter {
responseVo.setOrderTypeDesc("商城订单");
} else {
// TODO: 21-11-25 OrderTypeGather 待合并
responseVo.setOrderTypeDesc(Optional.ofNullable(OrderTypeGather.getByCode(ordersBean.getOrderType())).map(OrderTypeGather::getDesc).orElse(""));
responseVo.setOrderTypeDesc(Optional.ofNullable(OrderTypeV1.getByCode(ordersBean.getOrderType())).map(OrderTypeV1::getDesc).orElse(""));
}
responseVo.setOrderRemark(ordersBean.getRemark());
if (ordersBean.getGmtModified() != null) {
......@@ -3358,7 +3359,7 @@ public class OrderAdapter {
requestDto.setTransId(createOrderOperateDto.getFatherOrderBean().getOid());
requestDto.setOrderClient(null);
requestDto.setUnionPayCard(createOrderVo.getUnionPayCard());
requestDto.setStoreId(createOrderVo.getShopId());
// requestDto.setStoreId(createOrderVo.getShopId());
requestDto.setChannel(createOrderVo.getChannel() == null ? "" : createOrderVo.getChannel());
return requestDto;
}
......
......@@ -174,7 +174,7 @@ public class SpellGroupOrderAdapter {
requestDto.setOrderClient(OrderClientType.getOrderClientType(Integer.valueOf(data.getOrderClient())));
requestDto.setProductOrderBean(data);
requestDto.setFatherOrderBean(data);
requestDto.setStoreId(data.getShopId());
// requestDto.setStoreId(data.getShopId());
requestDto.setChannel("");
return requestDto;
}
......
......@@ -536,5 +536,16 @@ public class OrderController {
return ResponseUtil.success();
}
/**
* 无单收银使用储值卡混合支付校验余额
*/
@ApiAnnotation(logMessage = "cashierCheck")
@PostMapping("/cashierCheck")
public BaseResponse<CashierCheckResponseVo> cashierCheck(@Validated @LogParams @RequestBody CashierCheckVo request) {
CreateCashierOrderDto dto = new CreateCashierOrderDto();
BeanUtils.copyProperties(request, dto);
return ResponseUtil.success(orderAdapterService.cashierCheck(dto));
}
}
package cn.freemud.entities.bo;
import lombok.Data;
@Data
public class CheckSvcAmountBo {
/**
* 商户号
*/
private String partnerId;
/**
* 门店号
*/
private String storeCode;
/**
* 订单金额(单位:分)
*/
private Long orderAmount;
/**
* 储值卡卡号
*/
private String cardCode;
}
package cn.freemud.entities.bo;
import lombok.Data;
@Data
public class CheckSvcAmountResponse {
/**
* 储值卡支付金额(分)
*/
private Long svcPayAmount;
/**
* 微信或支付宝 支付金额(分)
*/
private Long payAmount;
/**
* 错误提示
*/
private String msg;
}
......@@ -31,6 +31,11 @@ public class CreateCashierOrderDto {
private Long orderAmount;
/**
* 储值卡卡号
*/
private String cardCode;
/**
* 小程序版本号
*/
private String version;
......
......@@ -68,7 +68,12 @@ public class CreatePrepayRequestDto {
* 使用电子风味卡
*/
private CreateOrderUnionPayCardVo unionPayCard;
private String storeId;
/**
* 支付门店 混合支付当时定义(暂时废弃,取订单门店),
* 虚拟商品(券包)分账可使用 可优化
*/
private String payStoreId;
private String channel;
private String sessionId;
......
......@@ -5,4 +5,6 @@ import lombok.Data;
@Data
public class GetEvaluationDetailByOrderIdRequestVo {
private String order_id;
private String partnerId;
}
......@@ -18,6 +18,8 @@ import org.hibernate.validator.constraints.NotEmpty;
@Data
public class GetEvaluationStatusNewRequestVo {
private String partnerId;
private String orderId;
private String sessionId;
......
package cn.freemud.entities.vo.order;
import lombok.Data;
@Data
public class CashierCheckResponseVo {
/**
* 储值卡支付金额(分)
*/
private Long svcPayAmount;
/**
* 微信或支付宝 支付金额(分)
*/
private Long payAmount;
/**
* 错误提示
*/
private String msg;
}
package cn.freemud.entities.vo.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
public class CashierCheckVo {
/**
* 用户登陆的session
*/
@ApiModelProperty("用户登陆的session")
@NotEmpty(message = "请先授权登陆")
private String sessionId;
/**
* 商户号
*/
@ApiModelProperty("商户号")
@NotEmpty(message = "商户号必填")
private String partnerId;
/**
* 门店号
*/
@ApiModelProperty("门店号")
@NotEmpty(message = "门店号必填")
private String storeCode;
/**
* 订单金额(单位:分)
*/
@ApiModelProperty("订单金额(单位:分)")
@NotNull(message = "请输入订单金额")
@Min(value = 1, message = "请输入有效的订单金额哟")
private Long orderAmount;
/**
* 储值卡卡号
*/
@ApiModelProperty("储值卡卡号")
private String cardCode;
/**
* 小程序版本号
*/
@ApiModelProperty("小程序版本号")
private String version;
}
......@@ -45,6 +45,12 @@ public class CreateCashierOrderVo {
private Long orderAmount;
/**
* 储值卡卡号
*/
@ApiModelProperty("储值卡卡号")
private String cardCode;
/**
* 小程序版本号
*/
@ApiModelProperty("小程序版本号")
......
package cn.freemud.enums;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.enums OrderTypeGather
* @Description: TDO 描述....
* @author: family
* @date: 2020/5/7
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum OrderTypeGather {
TAKE_OUT(1, "外卖"),
PRE_ORDER(2, "预订单"),
MALL(3, "商城"),
COLLECT_GOODS(4, "到店"),
EAT_IN(5, "到店");
private Integer code;
private String desc;
//订单服务订单类型 1=外卖 4=自提,5=堂食
//外卖平台订单类型 1=常规堂食,2=预约堂食,3=常规外送,4=预约外送,5=常规自取,6=预约自取
OrderTypeGather(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static OrderTypeGather getByCode(Integer code) {
if (code==null) {
return null;
}
for (OrderTypeGather orderTypeGather : values()) {
if (orderTypeGather.getCode().equals(code)) {
return orderTypeGather;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
//package cn.freemud.enums;
//
///**
// * All rights Reserved, Designed By www.freemud.cn
// *
// * @Title: cn.freemud.enums OrderTypeGather
// * @Description: TDO 描述....
// * @author: family
// * @date: 2020/5/7
// * @Copyright: www.freemud.cn Inc. All rights reserved.
// * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
// */
//public enum OrderTypeGather {
// TAKE_OUT(1, "外卖"),
// PRE_ORDER(2, "预订单"),
// MALL(3, "商城"),
// COLLECT_GOODS(4, "到店"),
// EAT_IN(5, "到店");
//
// private Integer code;
// private String desc;
// //订单服务订单类型 1=外卖 4=自提,5=堂食
// //外卖平台订单类型 1=常规堂食,2=预约堂食,3=常规外送,4=预约外送,5=常规自取,6=预约自取
// OrderTypeGather(Integer code, String desc) {
// this.code = code;
// this.desc = desc;
// }
//
// public static OrderTypeGather getByCode(Integer code) {
// if (code==null) {
// return null;
// }
// for (OrderTypeGather orderTypeGather : values()) {
// if (orderTypeGather.getCode().equals(code)) {
// return orderTypeGather;
// }
// }
// return null;
// }
//
// public Integer getCode() {
// return code;
// }
//
// public void setCode(Integer code) {
// this.code = code;
// }
//
// public String getDesc() {
// return desc;
// }
//
// public void setDesc(String desc) {
// this.desc = desc;
// }
//}
......@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.order.CashierCheckResponseVo;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
......@@ -35,4 +36,12 @@ public interface CashierOrderService {
* @return 处理结果json字符串
*/
String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, OrderBeanV1> orderBeans);
/**
* 无单收银使用储值卡校验余额
* @param createOrderDto 同创建无单收银订单请求数据
* @param member 会员信息
* @return 储值卡支付金额和现金支付金额
*/
CashierCheckResponseVo cashierCheck(CreateCashierOrderDto createOrderDto, AssortmentCustomerInfoVo member);
}
......@@ -30,11 +30,6 @@ public interface EvaluationService {
BaseResponse getEvaluationByOrderId(GetEvaluationDetailByOrderIdRequestVo requestVo);
/**
* 判断订单是否已经评价
*/
BaseResponse getEvaluationStatus(GetEvaluationDetailByOrderIdRequestVo requestVo);
/**
* 判断订单是否已经评价(新接口)
*/
BaseResponse getEvaluationStatusNew(GetEvaluationStatusNewRequestVo requestVo);
......
......@@ -3,6 +3,8 @@ package cn.freemud.service.impl;
import cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter;
import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.bo.CheckSvcAmountBo;
import cn.freemud.entities.bo.CheckSvcAmountResponse;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto;
......@@ -10,6 +12,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.order.CashierCheckResponseVo;
import cn.freemud.enums.OrderBeanType;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.UserLoginChannelEnum;
......@@ -31,10 +34,10 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest;
import com.google.common.collect.Maps;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
......@@ -90,7 +93,8 @@ public class CashierOrderServiceImpl implements CashierOrderService {
createPrepayRequestDto.setWxAppId(member.getWxAppId());
createPrepayRequestDto.setOpenId(member.getOpenId());
createPrepayRequestDto.setTotalAmount(createOrderDto.getOrderAmount());
createPrepayRequestDto.setChannel(Objects.requireNonNull(PayChannelType.getByIndex(request.getPayChannelType())).getEbcode());
createPrepayRequestDto.setChannel(Objects.requireNonNull(PayChannelType.getByIndex(request.getPayChannelType())).getIndex().toString());
createPrepayRequestDto.setCardCode(createOrderDto.getCardCode());
OrderBeanV1 orderBeanV1 = orderCenterSdkAdapter.convent2NEWOrderInfo(response.getResult());
createPrepayRequestDto.setProductOrderBean(orderBeanV1);
createPrepayRequestDto.setFatherOrderBean(orderBeanV1);
......@@ -190,4 +194,18 @@ public class CashierOrderServiceImpl implements CashierOrderService {
map.put("message", "success");
return JSONObject.toJSONString(map);
}
/**
* 无单收银使用储值卡混合支付
*/
@Override
public CashierCheckResponseVo cashierCheck(CreateCashierOrderDto createOrderDto, AssortmentCustomerInfoVo member) {
CheckSvcAmountBo bo = new CheckSvcAmountBo();
BeanUtils.copyProperties(createOrderDto, bo);
CheckSvcAmountResponse checkSvcAmountResponse = payService.checkSvcAmount(bo);
CashierCheckResponseVo responseVo = new CashierCheckResponseVo();
BeanUtils.copyProperties(checkSvcAmountResponse, responseVo);
return responseVo;
}
}
......@@ -8,6 +8,7 @@ import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.CashierCheckResponseVo;
import cn.freemud.entities.vo.order.PaymentConfigVo;
import cn.freemud.entities.vo.order.PlugInParameter;
import cn.freemud.enums.*;
......@@ -398,4 +399,16 @@ public class OrderAdapterServiceImpl {
}
/**
* 无单收银使用储值卡混合支付
*/
public CashierCheckResponseVo cashierCheck(CreateCashierOrderDto createOrderDto) {
AssortmentCustomerInfoVo member = assortmentCustomerInfoManager.getCustomerInfoByObject(createOrderDto.getSessionId());
if (member == null || StringUtils.isEmpty(member.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
//校验储值卡余额
return cashierOrderService.cashierCheck(createOrderDto, member);
}
}
......@@ -439,7 +439,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
createPrepayRequestDto.setTotalAmount(createOrderRequest.getSettlementAmount());
createPrepayRequestDto.setCardAmount(0);
createPrepayRequestDto.setChannel(requestVo.getChannel());
createPrepayRequestDto.setStoreId(storeId);
// createPrepayRequestDto.setStoreId(storeId);
OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto();
String deliveryHoursDayStart = "";
String deliveryHoursDayEnd = "";
......
......@@ -680,7 +680,7 @@ public abstract class UniversalOrderService {
}
//混合支付+svc卡
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
orderPayResponse = payService.switchSvcOrComb(totalAmount, cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel(), createPrepayRequestDto.getStoreId(), LogThreadLocal.getTrackingNo());
orderPayResponse = payService.switchSvcOrComb(totalAmount, cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel());
} else {
// 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
......
......@@ -281,4 +281,14 @@ public class InterfaceAddressConstant {
*/
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";
}
......@@ -11,8 +11,8 @@ public enum OrderTypeV1 {
TAKE_OUT(1, "外卖", "takeOut"),
// PRE_ORDER(2, "预订单", "preOrder"),
// MALL(3, "商城", "mall"),
COLLECT_GOODS(4, "打包带走", "collectGoods"),
EAT_IN(5, "店内就餐", "eatIn");
COLLECT_GOODS(4, "自提", "collectGoods"),
EAT_IN(5, "堂食", "eatIn");
private Integer code;
private String desc;
......
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
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.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.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
......@@ -1004,4 +1007,25 @@ public class OrderSdkService {
});
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