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;
}
} }
...@@ -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);
}
} }
...@@ -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