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 { ...@@ -98,7 +98,7 @@ public class CreateOrderAdapter {
requestDto.setUnionPayCard(u); requestDto.setUnionPayCard(u);
} }
// 转换 fisherman end // 转换 fisherman end
requestDto.setStoreId(createOrderBo.getCreateOrderBaseVo().getShopId()); // requestDto.setStoreId(createOrderBo.getCreateOrderBaseVo().getShopId());
requestDto.setChannel(createOrderBo.getCreateOrderBaseVo().getChannel()); requestDto.setChannel(createOrderBo.getCreateOrderBaseVo().getChannel());
return requestDto; return requestDto;
} }
......
...@@ -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());
......
...@@ -668,7 +668,8 @@ public class OrderAdapter { ...@@ -668,7 +668,8 @@ public class OrderAdapter {
} else { } else {
orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex(), OrderClientType.APP.getIndex()); 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()); 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()); List<Integer> payStatus = Arrays.asList(PayStatus.HAVE_PAID.getCode(), PayStatus.HAVE_REFUND.getCode(), PayStatus.COMPLETE.getCode());
queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray()); queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray());
...@@ -1012,7 +1013,7 @@ public class OrderAdapter { ...@@ -1012,7 +1013,7 @@ public class OrderAdapter {
responseVo.setOrderTypeDesc("商城订单"); responseVo.setOrderTypeDesc("商城订单");
} else { } else {
// TODO: 21-11-25 OrderTypeGather 待合并 // 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()); responseVo.setOrderRemark(ordersBean.getRemark());
if (ordersBean.getGmtModified() != null) { if (ordersBean.getGmtModified() != null) {
...@@ -3358,7 +3359,7 @@ public class OrderAdapter { ...@@ -3358,7 +3359,7 @@ public class OrderAdapter {
requestDto.setTransId(createOrderOperateDto.getFatherOrderBean().getOid()); requestDto.setTransId(createOrderOperateDto.getFatherOrderBean().getOid());
requestDto.setOrderClient(null); requestDto.setOrderClient(null);
requestDto.setUnionPayCard(createOrderVo.getUnionPayCard()); requestDto.setUnionPayCard(createOrderVo.getUnionPayCard());
requestDto.setStoreId(createOrderVo.getShopId()); // requestDto.setStoreId(createOrderVo.getShopId());
requestDto.setChannel(createOrderVo.getChannel() == null ? "" : createOrderVo.getChannel()); requestDto.setChannel(createOrderVo.getChannel() == null ? "" : createOrderVo.getChannel());
return requestDto; return requestDto;
} }
......
...@@ -174,7 +174,7 @@ public class SpellGroupOrderAdapter { ...@@ -174,7 +174,7 @@ public class SpellGroupOrderAdapter {
requestDto.setOrderClient(OrderClientType.getOrderClientType(Integer.valueOf(data.getOrderClient()))); requestDto.setOrderClient(OrderClientType.getOrderClientType(Integer.valueOf(data.getOrderClient())));
requestDto.setProductOrderBean(data); requestDto.setProductOrderBean(data);
requestDto.setFatherOrderBean(data); requestDto.setFatherOrderBean(data);
requestDto.setStoreId(data.getShopId()); // requestDto.setStoreId(data.getShopId());
requestDto.setChannel(""); requestDto.setChannel("");
return requestDto; return requestDto;
} }
......
...@@ -536,5 +536,16 @@ public class OrderController { ...@@ -536,5 +536,16 @@ public class OrderController {
return ResponseUtil.success(); 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 { ...@@ -31,6 +31,11 @@ public class CreateCashierOrderDto {
private Long orderAmount; private Long orderAmount;
/** /**
* 储值卡卡号
*/
private String cardCode;
/**
* 小程序版本号 * 小程序版本号
*/ */
private String version; private String version;
......
...@@ -68,7 +68,12 @@ public class CreatePrepayRequestDto { ...@@ -68,7 +68,12 @@ public class CreatePrepayRequestDto {
* 使用电子风味卡 * 使用电子风味卡
*/ */
private CreateOrderUnionPayCardVo unionPayCard; private CreateOrderUnionPayCardVo unionPayCard;
private String storeId; /**
* 支付门店 混合支付当时定义(暂时废弃,取订单门店),
* 虚拟商品(券包)分账可使用 可优化
*/
private String payStoreId;
private String channel; private String channel;
private String sessionId; private String sessionId;
......
...@@ -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;
......
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 { ...@@ -45,6 +45,12 @@ public class CreateCashierOrderVo {
private Long orderAmount; private Long orderAmount;
/** /**
* 储值卡卡号
*/
@ApiModelProperty("储值卡卡号")
private String cardCode;
/**
* 小程序版本号 * 小程序版本号
*/ */
@ApiModelProperty("小程序版本号") @ApiModelProperty("小程序版本号")
......
package cn.freemud.enums; //package cn.freemud.enums;
//
/** ///**
* All rights Reserved, Designed By www.freemud.cn // * All rights Reserved, Designed By www.freemud.cn
* // *
* @Title: cn.freemud.enums OrderTypeGather // * @Title: cn.freemud.enums OrderTypeGather
* @Description: TDO 描述.... // * @Description: TDO 描述....
* @author: family // * @author: family
* @date: 2020/5/7 // * @date: 2020/5/7
* @Copyright: www.freemud.cn Inc. All rights reserved. // * @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 // * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ // */
public enum OrderTypeGather { //public enum OrderTypeGather {
TAKE_OUT(1, "外卖"), // TAKE_OUT(1, "外卖"),
PRE_ORDER(2, "预订单"), // PRE_ORDER(2, "预订单"),
MALL(3, "商城"), // MALL(3, "商城"),
COLLECT_GOODS(4, "到店"), // COLLECT_GOODS(4, "到店"),
EAT_IN(5, "到店"); // EAT_IN(5, "到店");
//
private Integer code; // private Integer code;
private String desc; // private String desc;
//订单服务订单类型 1=外卖 4=自提,5=堂食 // //订单服务订单类型 1=外卖 4=自提,5=堂食
//外卖平台订单类型 1=常规堂食,2=预约堂食,3=常规外送,4=预约外送,5=常规自取,6=预约自取 // //外卖平台订单类型 1=常规堂食,2=预约堂食,3=常规外送,4=预约外送,5=常规自取,6=预约自取
OrderTypeGather(Integer code, String desc) { // OrderTypeGather(Integer code, String desc) {
this.code = code; // this.code = code;
this.desc = desc; // this.desc = desc;
} // }
//
public static OrderTypeGather getByCode(Integer code) { // public static OrderTypeGather getByCode(Integer code) {
if (code==null) { // if (code==null) {
return null; // return null;
} // }
for (OrderTypeGather orderTypeGather : values()) { // for (OrderTypeGather orderTypeGather : values()) {
if (orderTypeGather.getCode().equals(code)) { // if (orderTypeGather.getCode().equals(code)) {
return orderTypeGather; // return orderTypeGather;
} // }
} // }
return null; // return null;
} // }
//
public Integer getCode() { // public Integer getCode() {
return code; // return code;
} // }
//
public void setCode(Integer code) { // public void setCode(Integer code) {
this.code = code; // this.code = code;
} // }
//
public String getDesc() { // public String getDesc() {
return desc; // return desc;
} // }
//
public void setDesc(String desc) { // public void setDesc(String desc) {
this.desc = desc; // this.desc = desc;
} // }
} //}
...@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.ConfirmOrderDto; ...@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto; import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.CreateOrderResponseVo; import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage; 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.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
...@@ -35,4 +36,12 @@ public interface CashierOrderService { ...@@ -35,4 +36,12 @@ public interface CashierOrderService {
* @return 处理结果json字符串 * @return 处理结果json字符串
*/ */
String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, OrderBeanV1> orderBeans); 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 { ...@@ -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,6 +3,8 @@ package cn.freemud.service.impl; ...@@ -3,6 +3,8 @@ package cn.freemud.service.impl;
import cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter; import cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant; 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.ConfirmOrderDto;
import cn.freemud.entities.dto.StoreResponseDto; import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto; import cn.freemud.entities.dto.order.CreateCashierOrderDto;
...@@ -10,6 +12,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto; ...@@ -10,6 +12,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto; import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderResponseVo; import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage; import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.order.CashierCheckResponseVo;
import cn.freemud.enums.OrderBeanType; import cn.freemud.enums.OrderBeanType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.UserLoginChannelEnum; import cn.freemud.enums.UserLoginChannelEnum;
...@@ -31,10 +34,10 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq ...@@ -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.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; 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.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -90,7 +93,8 @@ public class CashierOrderServiceImpl implements CashierOrderService { ...@@ -90,7 +93,8 @@ public class CashierOrderServiceImpl implements CashierOrderService {
createPrepayRequestDto.setWxAppId(member.getWxAppId()); createPrepayRequestDto.setWxAppId(member.getWxAppId());
createPrepayRequestDto.setOpenId(member.getOpenId()); createPrepayRequestDto.setOpenId(member.getOpenId());
createPrepayRequestDto.setTotalAmount(createOrderDto.getOrderAmount()); 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()); OrderBeanV1 orderBeanV1 = orderCenterSdkAdapter.convent2NEWOrderInfo(response.getResult());
createPrepayRequestDto.setProductOrderBean(orderBeanV1); createPrepayRequestDto.setProductOrderBean(orderBeanV1);
createPrepayRequestDto.setFatherOrderBean(orderBeanV1); createPrepayRequestDto.setFatherOrderBean(orderBeanV1);
...@@ -190,4 +194,18 @@ public class CashierOrderServiceImpl implements CashierOrderService { ...@@ -190,4 +194,18 @@ public class CashierOrderServiceImpl implements CashierOrderService {
map.put("message", "success"); map.put("message", "success");
return JSONObject.toJSONString(map); 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;
}
} }
...@@ -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 && CollectionUtils.isNotEmpty(evaluationsByOrderId.getResult().getOrderEvaluations())) {
// 获取 评价有礼活动 // 获取 评价有礼活动
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);
......
...@@ -8,6 +8,7 @@ import cn.freemud.entities.bo.CreateOrderBONew; ...@@ -8,6 +8,7 @@ import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.ConfirmOrderDto; import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto; import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.*; 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.PaymentConfigVo;
import cn.freemud.entities.vo.order.PlugInParameter; import cn.freemud.entities.vo.order.PlugInParameter;
import cn.freemud.enums.*; import cn.freemud.enums.*;
...@@ -398,4 +399,16 @@ public class OrderAdapterServiceImpl { ...@@ -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);
}
} }
...@@ -6,6 +6,8 @@ import cn.freemud.base.log.ErrorLog; ...@@ -6,6 +6,8 @@ import cn.freemud.base.log.ErrorLog;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.RedisKeyConstant; import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.bo.CheckSvcAmountBo;
import cn.freemud.entities.bo.CheckSvcAmountResponse;
import cn.freemud.entities.dto.SvcComPayRequestDto; import cn.freemud.entities.dto.SvcComPayRequestDto;
import cn.freemud.entities.dto.SvcComPayResponseDto; import cn.freemud.entities.dto.SvcComPayResponseDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
...@@ -153,7 +155,7 @@ public class PayServiceImpl { ...@@ -153,7 +155,7 @@ public class PayServiceImpl {
CreateOrderResponseVo createOrderResponse; CreateOrderResponseVo createOrderResponse;
OrderPayResponse orderPayResponse = null; OrderPayResponse orderPayResponse = null;
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(createPrepayRequestDto.getOpenId(), createPrepayRequestDto.getPartnerId(), PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(createPrepayRequestDto.getOpenId(), createPrepayRequestDto.getPartnerId(),
createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPayCode(), createPrepayRequestDto.getFatherOrderBean().getShopId()); createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPayCode());
long totalAmount = createPrepayRequestDto.getTotalAmount(); long totalAmount = createPrepayRequestDto.getTotalAmount();
String cardCode = createPrepayRequestDto.getCardCode(); String cardCode = createPrepayRequestDto.getCardCode();
String transId = createPrepayRequestDto.getTransId(); String transId = createPrepayRequestDto.getTransId();
...@@ -171,7 +173,7 @@ public class PayServiceImpl { ...@@ -171,7 +173,7 @@ public class PayServiceImpl {
orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, createPrepayRequestDto.getCardAmount(), transId, createPrepayRequestDto.getOrderExtInfoDTO()); orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, createPrepayRequestDto.getCardAmount(), transId, createPrepayRequestDto.getOrderExtInfoDTO());
} else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) { } else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
//混合支付+svc卡(礼品卡) //混合支付+svc卡(礼品卡)
orderPayResponse = switchSvcOrComb(totalAmount, cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel(), createPrepayRequestDto.getStoreId(), LogThreadLocal.getTrackingNo()); orderPayResponse = switchSvcOrComb(totalAmount, cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel());
} else { } else {
// 0元订单如果不需要支付,自定义支付单号 // 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean()); orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
...@@ -422,7 +424,7 @@ public class PayServiceImpl { ...@@ -422,7 +424,7 @@ public class PayServiceImpl {
/** /**
* 查询支付配置 * 查询支付配置
*/ */
private PaymentRequest orderBodyConvertToPaymentBody(String openId, String partnerId, String appId, String payCode, String storeId) { private PaymentRequest orderBodyConvertToPaymentBody(String openId, String partnerId, String appId, String payCode) {
//设置支付信息 //设置支付信息
PaymentRequest paymentRequest = new PaymentRequest(); PaymentRequest paymentRequest = new PaymentRequest();
paymentRequest.setOpenId(openId); paymentRequest.setOpenId(openId);
...@@ -640,9 +642,7 @@ public class PayServiceImpl { ...@@ -640,9 +642,7 @@ public class PayServiceImpl {
, OrderBeanV1 orderBean , OrderBeanV1 orderBean
, PaymentRequest paymentRequest , PaymentRequest paymentRequest
, String transId , String transId
, String channel , String channel) {
, String storeId
, String trackingNo) {
OrderPayResponse orderPayResponse = null; OrderPayResponse orderPayResponse = null;
//混合支付开关 //混合支付开关
...@@ -650,7 +650,7 @@ public class PayServiceImpl { ...@@ -650,7 +650,7 @@ public class PayServiceImpl {
//混合支付 //混合支付
if (check && StringUtils.isNotBlank(channel)) { if (check && StringUtils.isNotBlank(channel)) {
String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId()); String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId());
orderPayResponse = comPayOrder(cardCode, orderBean, paymentRequest, partnerPayOvertime, totalAmount.intValue(), channel, storeId); orderPayResponse = comPayOrder(cardCode, orderBean, paymentRequest, partnerPayOvertime, totalAmount.intValue(), channel, orderBean.getShopId());
} else {//svc 支付 } else {//svc 支付
orderPayResponse = svcPay(cardCode, orderBean, paymentRequest, transId); orderPayResponse = svcPay(cardCode, orderBean, paymentRequest, transId);
} }
...@@ -1375,10 +1375,6 @@ public class PayServiceImpl { ...@@ -1375,10 +1375,6 @@ public class PayServiceImpl {
if (!Objects.equals(checkParam.getCode(), "100")) { if (!Objects.equals(checkParam.getCode(), "100")) {
return checkParam; return checkParam;
} else { } else {
// String receiveJsonStr = this.setPayValueFromSDKByManager(refundRequest.getPartnerId(), refundRequest.getStoreId(), refundRequest.getRefundAmount() + vipAmount, vipAmount, wxAppStore.getIndirectId(), false);
// if (!StringUtils.isEmpty(receiveJsonStr)) {
// request.setAccountDivided(receiveJsonStr);
// }
com.freemud.application.sdk.api.base.BaseResponse<PayRefundData> refundNewResponse = null; com.freemud.application.sdk.api.base.BaseResponse<PayRefundData> refundNewResponse = null;
try { try {
refundNewResponse = omsPaymentClient.payRefund(request); refundNewResponse = omsPaymentClient.payRefund(request);
...@@ -1427,15 +1423,6 @@ public class PayServiceImpl { ...@@ -1427,15 +1423,6 @@ public class PayServiceImpl {
} }
} }
// private String setPayValueFromSDKByManager(String partnerId, String storeId, Long totalAmount, Long vipAmount, Long indirectId, boolean isPay) {
// if (indirectId == null) {
// return null;
// } else {
// AssortmentOpenPlatformPartnerMerchant openPlatformPartnerMerchant = openPlatformPartnerMerchantManager.selectMerchantDetail(indirectId);
// List<ReceiverBiz> dtoReceivers = this.calcReceiverNew(openPlatformPartnerMerchant, partnerId, storeId, totalAmount, vipAmount, isPay);
// return this.convertOrderPayRequestToReceivers(dtoReceivers);
// }
// }
public com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> checkParam(String partnerId, String storeId, Long amount, AssortmentOpenPlatformIappWxappStore wxAppStore) { public com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> checkParam(String partnerId, String storeId, Long amount, AssortmentOpenPlatformIappWxappStore wxAppStore) {
if (StringUtils.isBlank(partnerId)) { if (StringUtils.isBlank(partnerId)) {
...@@ -1449,97 +1436,55 @@ public class PayServiceImpl { ...@@ -1449,97 +1436,55 @@ public class PayServiceImpl {
} }
} }
/** /**
* 新获取分账信息逻辑 * 校验五单收银 储值卡余额,返回储值支付金额与现金支付金额
*
* @param openPlatformPartnerMerchant 收单方
* @param partnerId
* @param storeId
* @param totalAmount
* @return
*/ */
// public List<ReceiverBiz> calcReceiverNew(AssortmentOpenPlatformPartnerMerchant openPlatformPartnerMerchant, String partnerId, String storeId, Long totalAmount, Long vipAmount, boolean isPay) { public CheckSvcAmountResponse checkSvcAmount(CheckSvcAmountBo checkSvcAmountBo) {
// String platform = openPlatformPartnerMerchant != null ? openPlatformPartnerMerchant.getPlatform() : "";
// if (!PlatformType.YI_BAO_PAYMENT.getCode().equals(platform) && !PlatformType.YF_PAYMENT.getCode().equals(platform)) {
// return null;
// }
// AssortmentOpenPlatformPartnerMerchantAccountManager openPlatformPartnerMerchantAccountManager = ApplicationBeanManager.getBean(AssortmentOpenPlatformPartnerMerchantAccountManager.class);
// Long orderAmount;
// List<ReceiverBiz> result = Lists.newArrayList();
// List<AssortmentOpenPlatformPartnerMerchantAccount> openPlatformPartnerMerchantAccounts;
// if (vipAmount == null || vipAmount == 0L) {
// // 不走会员分账
// openPlatformPartnerMerchantAccounts = openPlatformPartnerMerchantAccountManager.selectByRuleId(partnerId, storeId, PayRuleIdEnum.DEFAULT.getCode());
// orderAmount = totalAmount;
// } else {
// // 走会员分账
// openPlatformPartnerMerchantAccounts = vipSubAccount(partnerId, storeId, vipAmount, platform, openPlatformPartnerMerchantAccountManager, result, isPay);
// orderAmount = totalAmount - vipAmount;
// }
// ReceiverService receiverService = ApplicationBeanManager.getBean(platform, ReceiverService.class);
// if (receiverService == null) {
// return null;
// }
// List<ReceiverBiz> list = receiverService.getReceivers(openPlatformPartnerMerchant, openPlatformPartnerMerchantAccounts, orderAmount, isPay);
// result.addAll(list);
// return result;
// }
/** CheckSvcAmountResponse checkSvcAmountResponse = new CheckSvcAmountResponse();
* 易宝会员分账计算
*
* @param partnerId
* @param storeId
* @param vipAmount
* @param platform
* @param openPlatformPartnerMerchantAccountManager
* @param result
* @return
*/
// private List<AssortmentOpenPlatformPartnerMerchantAccount> vipSubAccount(String partnerId, String storeId, Long vipAmount, String platform, AssortmentOpenPlatformPartnerMerchantAccountManager openPlatformPartnerMerchantAccountManager
// , List<ReceiverBiz> result, boolean isPay) {
// // 退款不需要计算会员分账
// if (!PlatformType.YI_BAO_PAYMENT.getCode().equals(platform)) {
// return Collections.emptyList();
// }
// // 查询固定金额得分账记录
// List<AssortmentOpenPlatformPartnerMerchantAccount> openPlatformPartnerMerchantAccounts = null;
// List<AssortmentOpenPlatformPartnerMerchantAccount> payRates = openPlatformPartnerMerchantAccountManager.selectPayRate(partnerId, storeId, vipAmount + "", PayRuleTypeEnum.FIXED_AMOUNT.getCode());
// if (CollectionUtils.isNotEmpty(payRates)) {
// AssortmentOpenPlatformPartnerMerchantAccount account = payRates.get(0);
// if (isPay) {
// ReceiverBiz receiver = new ReceiverBiz();
// receiver.setAccount(account.getAccountCard());
// //传整数,直接去除小数点后面的数字
// receiver.setPrice(vipAmount);
// receiver.setName(account.getAccountName());
// result.add(receiver);
// }
// List<AssortmentOpenPlatformPartnerMerchantAccount> subAccounts = openPlatformPartnerMerchantAccountManager.selectByRuleId(partnerId, storeId, account.getRuleId());
// // 剔除固定金额
// openPlatformPartnerMerchantAccounts = subAccounts.stream().filter(a -> Objects.equals(a.getRuleType(), PayRuleTypeEnum.FIXED_PROPORTION.getCode())).collect(Collectors.toList());
// }
// return openPlatformPartnerMerchantAccounts;
// }
String partnerId = checkSvcAmountBo.getPartnerId();
String storeId = checkSvcAmountBo.getStoreCode();
String cardCode = checkSvcAmountBo.getCardCode();
Long orderAmount = checkSvcAmountBo.getOrderAmount();
// public String convertOrderPayRequestToReceivers(List<ReceiverBiz> receiverBizs) { //混合支付开关
// if (CollectionUtils.isEmpty(receiverBizs)) { boolean combPaySwitch = this.checkSvcComPay(partnerId, storeId);
// return null;
// } SVCCardAmountRequestDto svcRequest = new SVCCardAmountRequestDto();
// //分账 svcRequest.setPartnerId(partnerId);
// List<ReceiverBiz> receivers = receiverBizs; svcRequest.setCardCodes(Arrays.asList(cardCode));
// List<AccountDivideVo> divideVos = new ArrayList<>(); //查询svc卡余额
// for (ReceiverBiz receiver : receivers) { BaseResponse<SVCCardAmountResponseDto> svcCardAmountResponseBaseResponse = svcAppClient.batchQueryCardAmount(svcRequest);
// AccountDivideVo divideVo = new AccountDivideVo(); if (svcCardAmountResponseBaseResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(svcCardAmountResponseBaseResponse.getCode())
// divideVo.setLedgerNo(receiver.getAccount()); || svcCardAmountResponseBaseResponse.getResult() == null || CollectionUtils.isEmpty(svcCardAmountResponseBaseResponse.getResult().getCardSimpleInfos())) {
// divideVo.setLedgerName(receiver.getName()); checkSvcAmountResponse.setMsg(Objects.isNull(svcCardAmountResponseBaseResponse) ? "获取卡余额异常" : svcCardAmountResponseBaseResponse.getMessage());
// Double amount = receiver.getPrice() / 100d; return checkSvcAmountResponse;
// divideVo.setAmount(amount + ""); }
// divideVos.add(divideVo); Integer amount = svcCardAmountResponseBaseResponse.getResult().getCardSimpleInfos().get(0).getAmount();
// } Integer vamount = svcCardAmountResponseBaseResponse.getResult().getCardSimpleInfos().get(0).getVamount();
// return JSONObject.toJSONString(divideVos);
// } Integer svcAmount = amount + vamount;
if (!combPaySwitch && svcAmount < orderAmount) {
checkSvcAmountResponse.setMsg("卡余额不足");
return checkSvcAmountResponse;
}
//储值卡支付金额(分)
Long svcPayAmount;
//微信或支付宝 支付金额(分)
Long payAmount;
if (svcAmount < orderAmount) {
svcPayAmount = svcAmount.longValue();
payAmount = orderAmount - svcAmount.longValue();
} else {
svcPayAmount = orderAmount;
payAmount = 0L;
}
checkSvcAmountResponse.setSvcPayAmount(svcPayAmount);
checkSvcAmountResponse.setPayAmount(payAmount);
return checkSvcAmountResponse;
}
} }
...@@ -439,7 +439,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -439,7 +439,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
createPrepayRequestDto.setTotalAmount(createOrderRequest.getSettlementAmount()); createPrepayRequestDto.setTotalAmount(createOrderRequest.getSettlementAmount());
createPrepayRequestDto.setCardAmount(0); createPrepayRequestDto.setCardAmount(0);
createPrepayRequestDto.setChannel(requestVo.getChannel()); createPrepayRequestDto.setChannel(requestVo.getChannel());
createPrepayRequestDto.setStoreId(storeId); // createPrepayRequestDto.setStoreId(storeId);
OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto(); OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto();
String deliveryHoursDayStart = ""; String deliveryHoursDayStart = "";
String deliveryHoursDayEnd = ""; String deliveryHoursDayEnd = "";
......
...@@ -680,7 +680,7 @@ public abstract class UniversalOrderService { ...@@ -680,7 +680,7 @@ public abstract class UniversalOrderService {
} }
//混合支付+svc卡 //混合支付+svc卡
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) { 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 { } else {
// 0元订单如果不需要支付,自定义支付单号 // 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean()); orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
......
...@@ -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";
} }
...@@ -11,8 +11,8 @@ public enum OrderTypeV1 { ...@@ -11,8 +11,8 @@ public enum OrderTypeV1 {
TAKE_OUT(1, "外卖", "takeOut"), TAKE_OUT(1, "外卖", "takeOut"),
// PRE_ORDER(2, "预订单", "preOrder"), // PRE_ORDER(2, "预订单", "preOrder"),
// MALL(3, "商城", "mall"), // MALL(3, "商城", "mall"),
COLLECT_GOODS(4, "打包带走", "collectGoods"), COLLECT_GOODS(4, "自提", "collectGoods"),
EAT_IN(5, "店内就餐", "eatIn"); EAT_IN(5, "堂食", "eatIn");
private Integer code; private Integer code;
private String desc; 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 ...@@ -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