Commit b8c0302b by 周晓航

Merge branch '【华莱士】【万象+储值卡+支付+会员+订单】华莱士储值卡合规改造-zxh' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 8b2718c1 14743cf7
......@@ -10,4 +10,7 @@ public class GetSvcInfoByMemberIdResponseVo {
private Integer statusFlag;
private String createTime;
private Integer applyType;
// 卡面编号
private Integer applyId;
}
......@@ -285,7 +285,12 @@ public class CreateOrderVo {
*/
private String sendWord;
/**
* 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906
*
* 1 表示不分账 ,其他情况 不传值 给基础服务
*/
private Integer unDistribution;
/**
* 是否使用电子风味卡,如果不为空则为使用
......
......@@ -141,6 +141,10 @@ public class CheckOrder {
@Autowired
private StoreClient storeClient;
// 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906
@Value("${card.pay.unDistribution.applyId:}")
private List<Integer> unDistributions;
/**
* 下单会员相关校验
*/
......@@ -159,8 +163,14 @@ public class CheckOrder {
cardCodes.addAll(createOrderVo.getCardCodes());
}
//校验会员svc卡信息
checkCardCode(createOrderVo.getPartnerId(), userLoginInfoDto.getMemberId(), cardCodes);
List<GetSvcInfoByMemberIdResponseVo> memberCardCode = checkCardCode(createOrderVo.getPartnerId(), userLoginInfoDto.getMemberId(), cardCodes);
if (CollectionUtils.isNotEmpty(memberCardCode)) {
// 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906
long count = memberCardCode.stream().filter(card -> cardCodes.contains(card.getCardCode()) && unDistributions.contains(card.getApplyId())).count();
if (count > 0) {
createOrderVo.setUnDistribution(1);
}
}
createOrderVo.setUserId(userLoginInfoDto.getMemberId());
return userLoginInfoDto;
}
......@@ -1111,9 +1121,9 @@ public class CheckOrder {
/**
* 校验卡是否是该会员的
*/
public void checkCardCode(String partnerId, String memberId, Set<String> cardCodes) {
public List<GetSvcInfoByMemberIdResponseVo> checkCardCode(String partnerId, String memberId, Set<String> cardCodes) {
if (CollectionUtils.isEmpty(cardCodes)) {
return;
return null;
}
StatisticalScoreRequestVo request = new StatisticalScoreRequestVo();
request.setPartnerId(partnerId);
......@@ -1137,6 +1147,7 @@ public class CheckOrder {
if (b) {
throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR);
}
return responseDTO.getData();
}
public void checkOrderByStore(StoreResponse.BizVO storeResponseDto) {
......
......@@ -208,6 +208,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Value("${create.order.key.expire:5}")
private String createOrderKeyExpire;
@Autowired
private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
......@@ -2625,25 +2626,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return channelType;
}
/**
* 标准点餐参数校验
*
* @param createOrderVo
* @return
*/
private BaseResponse checkStandardParamInfo(CreateOrderVo createOrderVo) {
if (StringUtils.isEmpty(createOrderVo.getSessionId())) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_SESSION_ERROR);
}
if (StringUtils.isEmpty(createOrderVo.getShopId())) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_STORE_ERROR);
}
if (createOrderVo.getOrderType() == null) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_ORDERTYPE_ERROR);
}
return ResponseUtil.success();
}
public BaseResponse mcCafePushOrder(McCafeQueryOrderVo queryOrderVo) {
executor.submit(() -> {
......@@ -3203,4 +3185,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
System.out.println(getMcdOpenApiSign("132150066","{\"mpOrderId\":\"22210922765267866600006\",\"displayOrderId\":\"0\",\"type\":\"1\",\"saleType\":\"2\",\"eatType\":\"1\",\"deliveryType\":\"1\",\"sourceType\":\"WXMP\",\"beType\":\"3\",\"dayPart\":\"2\",\"channel\":\"10\",\"status\":\"80\",\"invoiceNeeded\":1,\"Invoiced\":1,\"customer_id\":\"MEDDY991578176625117171\",\"storeCode\":\"1450167\",\"storeName\":\"麦当劳麦咖啡(桂平路-漕河泾店)\",\"businessDate\":\"2021-09-17\",\"tablewareInfo\":\"02\",\"totalAmount\":2500,\"taxTotalAmount\":150,\"discountTotalAmount\":0,\"realTotalAmount\":2500,\"deliveryPrice\":0,\"realDeliveryPrice\":0,\"remark\":\"\",\"saleTime\":\"2021-09-17 14:51:28\",\"completionTime\":\"2021-09-17 15:51:05\",\"cancellationReasonCode\":\"-1\",\"cancellationRemark\":\"\",\"acceptTime\":\"2021-09-17 14:51:05.000\",\"pickupCode\":\"0\",\"openId\":\"oDF-Z5V60m2rgKYaHkf4ImhqR_XQ\",\"unionId\":\"oJeaRwyFU420hv0V3tddABipaH2I\",\"createdDate\":\"2021-09-17 14:51:05\",\"orderItem\":[{\"mpItemId\":\"190081895830260510\",\"sequenceId\":\"1\",\"round\":\"1\",\"productType\":\"1\",\"productCode\":\"507332\",\"productAttribute\":[{\"grillCode\":\"8008\",\"grillItemList\":[{\"grillItemCode\":\"1\",\"grillItemNameCn\":\"\",\"quantity\":\"1\"}]},{\"grillCode\":\"120146\",\"grillItemList\":[{\"grillItemCode\":\"0\",\"grillItemNameCn\":\"\",\"quantity\":\"1\"}]}],\"productName\":\"摩卡\",\"productLongName\":\"摩卡\",\"productNameEn\":\"\",\"productLongNameEn\":\"\",\"quantity\":\"1\",\"real_quantity\":\"1\",\"original_price\":\"2100\",\"price\":\"2500\",\"subtotal\":\"2500\",\"discountAmount\":\"0\",\"realAmount\":\"2500\",\"taxAmount\":\"150\",\"taxAmountDetail\":[{\"uniqueCode\":\"507332\",\"taxItems\":[{\"realAmount\":2500,\"taxAmount\":150,\"taxId\":\"10\",\"taxRate\":\"6\"}]}],\"taxId\":\"10\",\"taxRate\":\"6\",\"costInclusive\":\"1\",\"createdDate\":\"2021-09-17 14:51:05\"}],\"orderPayment\":[{\"channelPayTransactionId\":\"TSXA1205O347754218314084352\",\"payStatus\":\"PAID\",\"paySource\":\"10\",\"payChannel\":\"WX\",\"payAmount\":2500,\"refundType\":\"1\",\"refundAmount\":2500,\"refundTime\":\"2021-09-17 14:52:59\",\"refundReason\":\"用户申请退款\",\"signType\":\"0\",\"payPurpose\":\"02\",\"consumeType\":\"01\",\"tenderCode\":\"150\",\"refundStatus\":\"REFUNDED\",\"channelRefundTransactionId\":\"4200001214202109173002127737\",\"createdDate\":\"2021-09-17 14:51:28\"}],\"orderFoe\":[{\"foeOrderKey\":\"22210922765267866600006\",\"storeCode\":\"1450167\",\"orderType\":\"1\",\"pickupCode\":\"0\",\"status\":\"20\",\"foeType\":\"1\",\"createdDate\":\"2021-09-17 14:51:05\"},{\"foeOrderKey\":\"22210922765267866600006\",\"storeCode\":\"1450167\",\"orderType\":\"1\",\"pickupCode\":\"0\",\"status\":\"20\",\"foeType\":\"1\",\"createdDate\":\"2021-09-17 14:51:05\"}]}",
"M32118436",t, "78c915bb-a3a3-4957-b177-27667adb8df1"));
}
/**
* 标准点餐参数校验
*
* @param createOrderVo
* @return
*/
private BaseResponse checkStandardParamInfo(CreateOrderVo createOrderVo) {
if (StringUtils.isEmpty(createOrderVo.getSessionId())) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_SESSION_ERROR);
}
if (StringUtils.isEmpty(createOrderVo.getShopId())) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_STORE_ERROR);
}
if (createOrderVo.getOrderType() == null) {
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_ORDERTYPE_ERROR);
}
return ResponseUtil.success();
}
}
......@@ -3362,6 +3362,8 @@ public class OrderServiceImpl implements Orderservice {
if (null != shoppingCartGoodsDto && null != shoppingCartGoodsDto.getTotalScore()) {
orderExtInfoDto.setTotalScore(shoppingCartGoodsDto.getTotalScore());
}
orderExtInfoDto.setUnDistribution(createOrderVo.getUnDistribution());
return orderExtInfoDto;
}
......@@ -4680,6 +4682,37 @@ public class OrderServiceImpl implements Orderservice {
}
@Override
public BaseResponse queryInvoiceList(QueryInvoiceReq queryInvoiceReq) {
ApiLog.printLog("queryInvoiceListqueryInvoiceReq1",JSON.toJSONString(queryInvoiceReq),null,null);
if(queryInvoiceReq.getSelectMonth() == null){
queryInvoiceReq.setStartTime(DateUtil.addMonths(new Date(),-2));//如果前端传null,聚合往前2个月
queryInvoiceReq.setEndTime(new Date());//如果前端传null,聚合当前时间
}else{
queryInvoiceReq.setStartTime(DateUtil.convert2Date(queryInvoiceReq.getSelectMonth()+"-01",DateUtil.FORMAT_YMD));//yyyy-MM拼接-01
queryInvoiceReq.setEndTime((DateUtil.addMonths(DateUtil.convert2Date(queryInvoiceReq.getSelectMonth()+"-01",DateUtil.FORMAT_YMD),1)));////yyyy-(MM+1)拼接下月-01
}
ApiLog.printLog("queryInvoiceListqueryInvoiceReq2",JSON.toJSONString(queryInvoiceReq),null,null);
QueryInvoiceRepDto queryInvoiceRepDto = orderClient.queryInvoiceList(queryInvoiceReq);
ApiLog.printLog("queryInvoiceListqueryInvoiceRepDto",JSON.toJSONString(queryInvoiceRepDto),null,null);
if(queryInvoiceRepDto == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, queryInvoiceRepDto.getCode())){
return ResponseUtil.error(ResponseResult.QUERY_INVOICE_ERR);
}
if(queryInvoiceRepDto.getResult() != null){
for (QueryInvoiceRep queryInvoiceRep : queryInvoiceRepDto.getResult().getItemList()) {
String scanUrl = queryInvoiceRep.getInvoiceUrl();
if(scanUrl.startsWith("<![CDATA[")){
scanUrl = scanUrl.substring(9,scanUrl.length());
}
if(scanUrl.endsWith("]]>")){
scanUrl = scanUrl.substring(0,scanUrl.length()-3);
}
queryInvoiceRep.setInvoiceUrl(scanUrl);
}
}
return ResponseUtil.success(queryInvoiceRepDto.getResult());
}
@Override
public BaseResponse<InvoiceCreateResponseVo> createAndGetOrderInvoice(CreateOrderInvoiceRequest request){
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(request.getSessionId());
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
......@@ -4762,34 +4795,4 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success();
}
@Override
public BaseResponse queryInvoiceList(QueryInvoiceReq queryInvoiceReq) {
ApiLog.printLog("queryInvoiceListqueryInvoiceReq1",JSON.toJSONString(queryInvoiceReq),null,null);
if(queryInvoiceReq.getSelectMonth() == null){
queryInvoiceReq.setStartTime(DateUtil.addMonths(new Date(),-2));//如果前端传null,聚合往前2个月
queryInvoiceReq.setEndTime(new Date());//如果前端传null,聚合当前时间
}else{
queryInvoiceReq.setStartTime(DateUtil.convert2Date(queryInvoiceReq.getSelectMonth()+"-01",DateUtil.FORMAT_YMD));//yyyy-MM拼接-01
queryInvoiceReq.setEndTime((DateUtil.addMonths(DateUtil.convert2Date(queryInvoiceReq.getSelectMonth()+"-01",DateUtil.FORMAT_YMD),1)));////yyyy-(MM+1)拼接下月-01
}
ApiLog.printLog("queryInvoiceListqueryInvoiceReq2",JSON.toJSONString(queryInvoiceReq),null,null);
QueryInvoiceRepDto queryInvoiceRepDto = orderClient.queryInvoiceList(queryInvoiceReq);
ApiLog.printLog("queryInvoiceListqueryInvoiceRepDto",JSON.toJSONString(queryInvoiceRepDto),null,null);
if(queryInvoiceRepDto == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, queryInvoiceRepDto.getCode())){
return ResponseUtil.error(ResponseResult.QUERY_INVOICE_ERR);
}
if(queryInvoiceRepDto.getResult() != null){
for (QueryInvoiceRep queryInvoiceRep : queryInvoiceRepDto.getResult().getItemList()) {
String scanUrl = queryInvoiceRep.getInvoiceUrl();
if(scanUrl.startsWith("<![CDATA[")){
scanUrl = scanUrl.substring(9,scanUrl.length());
}
if(scanUrl.endsWith("]]>")){
scanUrl = scanUrl.substring(0,scanUrl.length()-3);
}
queryInvoiceRep.setInvoiceUrl(scanUrl);
}
}
return ResponseUtil.success(queryInvoiceRepDto.getResult());
}
}
......@@ -85,6 +85,9 @@ public class OrderManagerAdapter {
public BaseResponse<OrderManagerResponse> orderDelivery(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (Objects.isNull(orderBean)) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
/*****兼容爱马哥,送出即完成start******/
if (!OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
request.setOperateType(OperateType.ORDER_AFFIRM.getOpType());
......@@ -109,6 +112,9 @@ public class OrderManagerAdapter {
if (orderBean==null){
//查询订单
orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
}
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderAffirmVerify(orderBean, request);
......@@ -128,6 +134,9 @@ public class OrderManagerAdapter {
public BaseResponse orderReject(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验
BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
......@@ -154,6 +163,9 @@ public class OrderManagerAdapter {
public BaseResponse orderAgreeRefund(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验
BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
......@@ -174,6 +186,9 @@ public class OrderManagerAdapter {
public BaseResponse orderPayRefund(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
if(CollectionUtils.isNotEmpty(orderBean.getRefundList())){
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderAgreeRefundMCCafe(orderBean, request);
......@@ -196,6 +211,9 @@ public class OrderManagerAdapter {
public BaseResponse orderRejectRefund(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验
BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
......@@ -220,6 +238,9 @@ public class OrderManagerAdapter {
public BaseResponse orderCancel(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancel(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
}
......@@ -232,6 +253,9 @@ public class OrderManagerAdapter {
public BaseResponse mcCafeOrderRejectRefund(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.mcCafeOrderRejectRefund(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
......
......@@ -208,4 +208,11 @@ public class OrderExtInfoDto {
//抖音支付卖券手机号
private String saleCouponPhone;
/**
* 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906
*
* 1 表示不分账 ,其他情况 不传值 给基础服务
*/
private Integer unDistribution;
}
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