Commit bb3225d7 by 周晓航

Merge branch 'feature-20211115-视频卖券ID1039458-zxh-look'

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/controller/OrderController.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderResponseVo.java
#	order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
parents 6e6221d8 3c9f00ad
...@@ -14,6 +14,10 @@ package com.freemud.sdk.api.assortment.order.enums; ...@@ -14,6 +14,10 @@ package com.freemud.sdk.api.assortment.order.enums;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
/**
* com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
* 两个枚举类 需要同步加, 不然在订单业务代码中 会报错
*/
public enum OrderSourceType { public enum OrderSourceType {
WE_CHAT("we_chat", "自营微信小程序", 1), WE_CHAT("we_chat", "自营微信小程序", 1),
SAAS("saas", "saas 点餐", 2), SAAS("saas", "saas 点餐", 2),
...@@ -46,6 +50,7 @@ public enum OrderSourceType { ...@@ -46,6 +50,7 @@ public enum OrderSourceType {
ASSISTANT("assistant","非码小助手", 29), ASSISTANT("assistant","非码小助手", 29),
SHERPAS("sherpas","食派士", 30), SHERPAS("sherpas","食派士", 30),
CASHIER("cashier", "收银单", 36), CASHIER("cashier", "收银单", 36),
WE_CHAT_LIVE_SELL("we_chat_live_sell", "微信视频卖券", 37),
parkingmanual("parkingmanual", "农工商停车手工录单", 98), parkingmanual("parkingmanual", "农工商停车手工录单", 98),
PARKING("parking", "农工商停车", 99), PARKING("parking", "农工商停车", 99),
SDG("sdg", "闪电购", 1000); SDG("sdg", "闪电购", 1000);
...@@ -64,7 +69,8 @@ public enum OrderSourceType { ...@@ -64,7 +69,8 @@ public enum OrderSourceType {
if (e.getCode().equals(code)) if (e.getCode().equals(code))
return e; return e;
} }
return null; // 没查询到 默认设置 saas
return OrderSourceType.SAAS;
} }
/** /**
......
...@@ -19,6 +19,22 @@ ...@@ -19,6 +19,22 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.freemud.thirdparty.sdk</groupId>
<artifactId>thirdparty-weichat-sdk</artifactId>
<version>1.0.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>common-log-sdk</artifactId>
</exclusion>
<exclusion>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId> <artifactId>xxl-job-core</artifactId>
<version>2.0.1</version> <version>2.0.1</version>
......
...@@ -61,6 +61,7 @@ import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPar ...@@ -61,6 +61,7 @@ import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPar
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.v1.*; import com.freemud.application.sdk.api.ordercenter.entities.v1.*;
import com.freemud.application.sdk.api.ordercenter.enums.*; import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
...@@ -3393,6 +3394,7 @@ public class OrderAdapter { ...@@ -3393,6 +3394,7 @@ public class OrderAdapter {
createOrderResponseVo.setOid(orderBean.getOid()); createOrderResponseVo.setOid(orderBean.getOid());
createOrderResponseVo.setWxappId(orderPayResponse.getWxAppid()); createOrderResponseVo.setWxappId(orderPayResponse.getWxAppid());
createOrderResponseVo.setFmId(orderPayResponse.getFmId()); createOrderResponseVo.setFmId(orderPayResponse.getFmId());
createOrderResponseVo.setPayId(orderPayResponse.getPayId());
OrderPayResponse.PayOrderBean payOrderBean = orderPayResponse.getPayOrder(); OrderPayResponse.PayOrderBean payOrderBean = orderPayResponse.getPayOrder();
// 腾讯有数数据上报 时间戳不能为空 // 腾讯有数数据上报 时间戳不能为空
createOrderResponseVo.setTimestamp(payOrderBean == null ? Instant.now().getEpochSecond() + "" : payOrderBean.getTimestamp()); createOrderResponseVo.setTimestamp(payOrderBean == null ? Instant.now().getEpochSecond() + "" : payOrderBean.getTimestamp());
......
...@@ -106,6 +106,11 @@ public class RedisKeyConstant { ...@@ -106,6 +106,11 @@ public class RedisKeyConstant {
public final static String KGD_PAYMENT_CANCEL_OID = "kgd:cancel_payment_oid:"; public final static String KGD_PAYMENT_CANCEL_OID = "kgd:cancel_payment_oid:";
/** /**
* 获取生态 accessToken 的key前缀
*/
public final static String SAAS_ACCESSTOKEN_APPID = "saas:accesstoken:appid:";
/**
* cocoNotMadeGoods:商户号:门店号:yyyy-MM-dd * cocoNotMadeGoods:商户号:门店号:yyyy-MM-dd
* *
* @param partnerId * @param partnerId
......
...@@ -22,12 +22,15 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo; ...@@ -22,12 +22,15 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo; import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
import cn.freemud.entities.vo.order.CreateCashierOrderVo; import cn.freemud.entities.vo.order.CreateCashierOrderVo;
import cn.freemud.entities.vo.order.CreateOrderInvoiceRequest; import cn.freemud.entities.vo.order.CreateOrderInvoiceRequest;
import cn.freemud.entities.vo.order.OrderAppealVo;
import cn.freemud.entities.vo.order.GetInvoiceConfigRequest; import cn.freemud.entities.vo.order.GetInvoiceConfigRequest;
import cn.freemud.entities.vo.order.OrderAppealVo;
import cn.freemud.entities.vo.order.PaymentConfigVo; import cn.freemud.entities.vo.order.PaymentConfigVo;
import cn.freemud.handler.OrderReportJobHandler; import cn.freemud.handler.OrderReportJobHandler;
import cn.freemud.handler.WeChatLiveMsgHandle;
import cn.freemud.monitorcenter.tools.HealthUtil; import cn.freemud.monitorcenter.tools.HealthUtil;
import cn.freemud.service.*; import cn.freemud.service.EncircleOrderService;
import cn.freemud.service.Orderservice;
import cn.freemud.service.PointsMallOrderService;
import cn.freemud.service.impl.MallOrderServiceImpl; import cn.freemud.service.impl.MallOrderServiceImpl;
import cn.freemud.service.impl.OrderAdapterServiceImpl; import cn.freemud.service.impl.OrderAdapterServiceImpl;
import cn.freemud.utils.AppLogUtil; import cn.freemud.utils.AppLogUtil;
...@@ -35,6 +38,12 @@ import cn.freemud.utils.ResponseUtil; ...@@ -35,6 +38,12 @@ import cn.freemud.utils.ResponseUtil;
import cn.freemud.xxljob.OrderCountJobHandler; import cn.freemud.xxljob.OrderCountJobHandler;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import com.freemud.thirdparty.wechat.WeChatClient;
import com.freemud.thirdparty.wechat.constant.WeChatConstant;
import com.freemud.thirdparty.wechat.entities.WeChatBaseResponse;
import com.freemud.thirdparty.wechat.entities.vo.NullFieldVo;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderDeliverySendRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderSycnPayRequestVO;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -496,6 +505,7 @@ public class OrderController { ...@@ -496,6 +505,7 @@ public class OrderController {
} }
/** /**
* 一元捐插件获取支付配置 * 一元捐插件获取支付配置
* @param createOrderVo * @param createOrderVo
......
package cn.freemud.entities.live;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/16 下午4:32
* @description :
*/
@Data
public class WeChatReportVO {
private OrderCreateRequestVO requestVO;
private OrderCreateResponseVO data;
public WeChatReportVO(OrderCreateRequestVO requestVO, OrderCreateResponseVO data) {
this.requestVO = requestVO;
this.data = data;
}
private WeChatReportVO() {
}
}
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.dto.CreateOrderProductDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List; import java.util.List;
/** /**
...@@ -84,5 +78,9 @@ public class AppCreateOrderVo { ...@@ -84,5 +78,9 @@ public class AppCreateOrderVo {
private Integer bizType; private Integer bizType;
/**
* 卖券场景值
*/
private String scene ;
} }
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.ttpay.OrderInfo; import cn.freemud.entities.ttpay.OrderInfo;
import cn.freemud.entities.vo.order.PlugInParameter; import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -72,4 +72,14 @@ public class CreateOrderResponseVo { ...@@ -72,4 +72,14 @@ public class CreateOrderResponseVo {
//一元捐插件新增 //一元捐插件新增
private String outTradeNo; private String outTradeNo;
/**
* pay_id : 微信小程序支付
*/
private String payId;
/**
* 微信视频直播卖券,需要的反馈对象
*/
private OrderCreateRequestVO wxOrderInfo;
} }
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.Valid;
import javax.validation.constraints.Pattern;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
* *
...@@ -67,9 +61,17 @@ public class SellCouponCreateOrderVo { ...@@ -67,9 +61,17 @@ public class SellCouponCreateOrderVo {
/** /**
* 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906 * 【华莱士】【订单C端记录不分账的卡面编号】不让走分账,卡面编号--11840,11845,11846,11853,11854,11855,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866,11906
* * <p>
* 1 表示不分账 ,其他情况 不传值 给基础服务 * 1 表示不分账 ,其他情况 不传值 给基础服务
*/ */
private Integer unDistribution; private Integer unDistribution;
/**
* 视频卖券 需要带上该参数
* 卖券场景值
*/
private String scene;
} }
package cn.freemud.handler;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import cn.freemud.entities.live.WeChatReportVO;
import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.thirdparty.wechat.WeChatClient;
import com.freemud.thirdparty.wechat.constant.WeChatConstant;
import com.freemud.thirdparty.wechat.entities.WeChatBaseResponse;
import com.freemud.thirdparty.wechat.entities.vo.NullFieldVo;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderDeliverySendRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderSycnPayRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/16 上午11:25
* @description : 微信直播 卖券商品 数据处理
*/
@Component
public class WeChatLiveMsgHandle {
@Value("${wechat.live.order.path:}")
private String path;
@Value("${wechat.live.order.product.path:}")
private String productPath;
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired
private RedisCache redisCache;
private List<String> refresList = Arrays.asList("42001", "40001");
/**
* @param orderBean
* @param flag 1:支付成功,2:支付失败,3:用户取消,4:超时未支付;5:商家取消;10:其他原因取消
*/
public void reportOrderStatus(OrderBeanV1 orderBean, int flag) {
if (Objects.nonNull(orderBean)
&& Objects.equals(orderBean.getOrderClient(), OrderClientType.WE_CHAT_LIVE_SELL.getIndex().toString())) {
OrderSycnPayRequestVO request = new OrderSycnPayRequestVO();
String orderId = orderBean.getOid();
request.setOut_order_id(orderId);
String extInfo = orderBean.getExtInfo();
JSONObject jsonObject = JSON.parseObject(extInfo);
if (Objects.isNull(jsonObject)) {
return;
}
// 需要拿到 openid
Object openid = jsonObject.get("openid");
request.setOpenid(Objects.isNull(openid) ? "" : openid.toString());
if (flag == 1) {
// Object payTransId = jsonObject.get("payTransId");
// request.setTransaction_id(Objects.isNull(payTransId) ? "" : payTransId.toString());
request.setTransaction_id(orderId);
Object payDate = jsonObject.get("payDate");
request.setPay_time(Objects.isNull(payDate) ? "" : payDate.toString());
}
request.setAction_type(flag);
// 获取 session
String accessToken = this.getAccessToken(orderBean.getAppId(), orderBean.getParentCode());
WeChatClient weChatClient = new WeChatClient();
WeChatBaseResponse<NullFieldVo> weChatBaseResponse = weChatClient.orderApply(accessToken, request, WeChatConstant.OrderMethod.ORDER_PAY);
if (refresList.contains(weChatBaseResponse.getErrcode())) {
accessToken = this.refreshAccessToken(orderBean.getAppId(), orderBean.getParentCode());
weChatBaseResponse = weChatClient.orderApply(accessToken, request, WeChatConstant.OrderMethod.ORDER_PAY);
}
AppLogUtil.printLog("视频直播订单数据上报", JSON.toJSONString(request), JSON.toJSONString(weChatBaseResponse));
if ("0".equals(weChatBaseResponse.getErrcode())) {
// 1 支付成功进行发货
if (flag == 1) {
// 如果是支付成功, 同步发配送信息
OrderDeliverySendRequestVO requestVO = new OrderDeliverySendRequestVO();
requestVO.setOut_order_id(orderId);
requestVO.setOpenid(Objects.isNull(openid) ? "" : openid.toString());
requestVO.setFinish_all_delivery(1);
weChatBaseResponse = weChatClient.orderApply(accessToken, requestVO, WeChatConstant.OrderMethod.ORDER_SEND);
AppLogUtil.printLog("视频直播发货数据上报-发货", JSON.toJSONString(requestVO), JSON.toJSONString(weChatBaseResponse));
}
}
}
}
/**
* 组装 订单创建上报数据 对象
*
* @param createPrepayRequestDto
* @param prepayOrder
*/
public BaseResponse reportOrder(CreatePrepayRequestDto createPrepayRequestDto,
CreateOrderResponseVo prepayOrder, String scene) {
// 组装 request
OrderCreateRequestVO requestVO = this.getOrderCreateRequest(createPrepayRequestDto, prepayOrder, scene);
// 获取 session
String accessToken = this.getAccessToken(createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPartnerId());
WeChatClient weChatClient = new WeChatClient();
// fisherman 调用sdk
WeChatBaseResponse<OrderCreateResponseVO> weChatBaseResponse = weChatClient.orderApply(accessToken, requestVO, WeChatConstant.OrderMethod.ORDER_ADD);
if (weChatBaseResponse == null) {
// 调用失败
return ResponseUtil.error(ResponseResult.SYSTEM_BUSINESS_ERROR.getCode(), "错误码" + ResponseResult.SYSTEM_BUSINESS_ERROR.getCode() + ",创建视频号订单异常,请稍后再试。");
}
AppLogUtil.printLog("视频直播订单创建", JSON.toJSONString(requestVO), JSON.toJSONString(weChatBaseResponse));
if ("0".equals(weChatBaseResponse.getErrcode())) {
// 调用成功
OrderCreateResponseVO data = weChatBaseResponse.getData();
WeChatReportVO weChatReportVO = new WeChatReportVO(requestVO, data);
return ResponseUtil.success(weChatReportVO);
}
// 处理 token失败的情况 42001 表示 accesstoken 有问题 重新调用一遍
if (refresList.contains(weChatBaseResponse.getErrcode())) {
String accessTokenNew = this.refreshAccessToken(createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPartnerId());
WeChatBaseResponse<OrderCreateResponseVO> agResponse = weChatClient.orderApply(accessTokenNew, requestVO, WeChatConstant.OrderMethod.ORDER_ADD);
if (agResponse == null) {
// 调用失败
return ResponseUtil.error(ResponseResult.SYSTEM_BUSINESS_ERROR.getCode(), "错误码" + ResponseResult.SYSTEM_BUSINESS_ERROR.getCode() + ",创建视频号订单异常,请稍后再试。");
}
if ("0".equals(agResponse.getErrcode())) {
// 调用成功
OrderCreateResponseVO data = agResponse.getData();
WeChatReportVO weChatReportVO = new WeChatReportVO(requestVO, data);
return ResponseUtil.success(weChatReportVO);
}
return ResponseUtil.error(agResponse.getErrcode(), "错误码" + agResponse.getErrmsg() + ",创建视频号订单异常,请稍后再试。");
}
// 全部失败 直接抛出异常
return ResponseUtil.error(weChatBaseResponse.getErrcode(), "错误码" + weChatBaseResponse.getErrmsg() + ",创建视频号订单异常,请稍后再试。");
}
private String refreshAccessToken(String wxAppId, String partnerId) {
String dbAccessToken = this.getDBAccessToken(wxAppId, partnerId);
String redisKey = RedisKeyConstant.SAAS_ACCESSTOKEN_APPID + wxAppId;
this.putRedis(redisKey, dbAccessToken);
return dbAccessToken;
}
private String getDBAccessToken(String wxAppId, String partnerId) {
GetAuthorizerRequestDto request = new GetAuthorizerRequestDto();
request.setAuthorizerAppid(wxAppId);
request.setPartnerId(partnerId);
GetTokenResponseDto authorizerAccessToken = ecologyAdminApplicationClient.getAuthorizerAccessToken(request);
if (authorizerAccessToken == null || authorizerAccessToken.getResult() == null || StringUtils.isBlank(authorizerAccessToken.getResult().getAccessToken())) {
throw new ServiceException(ResponseResult.SYSTEM_BUSINESS_ERROR.getCode(), "获取生态accessToken失败");
}
String accessToken = authorizerAccessToken.getResult().getAccessToken();
return accessToken;
}
private void putRedis(String redisKey, String accessToken) {
// 存redis + 过期时间
redisCache.save(redisKey, accessToken);
redisCache.updateTTL(redisKey, 2, TimeUnit.MINUTES);
}
/**
* 获取 token
*
* @param wxAppId
* @param partnerId
* @return
*/
public String getAccessToken(String wxAppId, String partnerId) {
String redisKey = RedisKeyConstant.SAAS_ACCESSTOKEN_APPID + wxAppId;
Object value = redisCache.getValue(redisKey);
// 该操作 无需关注 重入情况
if (Objects.isNull(value)) {
String accessToken = this.getDBAccessToken(wxAppId, partnerId);
// 存redis + 过期时间
this.putRedis(redisKey, accessToken);
return accessToken;
}
return value.toString();
}
private OrderCreateRequestVO getOrderCreateRequest(CreatePrepayRequestDto createPrepayRequestDto,
CreateOrderResponseVo prepayOrder,
String scene) {
OrderCreateRequestVO requestVO = new OrderCreateRequestVO();
OrderBeanV1 orderBean = createPrepayRequestDto.getProductOrderBean();
Long gmtCreate = orderBean.getGmtCreate();
Date createTime;
if (gmtCreate == null) {
createTime = new Date();
} else {
createTime = new Date(gmtCreate);
}
requestVO.setCreate_time(DateUtil.convert2Str(createTime, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
requestVO.setOut_order_id(orderBean.getOid());
requestVO.setOpenid(createPrepayRequestDto.getOpenId());
requestVO.setPath(path + orderBean.getOid());
requestVO.setScene(Integer.valueOf(scene));
OrderCreateRequestVO.DeliveryDetail deliveryDetail = new OrderCreateRequestVO.DeliveryDetail();
deliveryDetail.setDelivery_type(2);
requestVO.setDelivery_detail(deliveryDetail);
// 组装商品参数
OrderCreateRequestVO.OrderDetail orderDetail = this.getOrderDetail(orderBean, prepayOrder);
requestVO.setOrder_detail(orderDetail);
return requestVO;
}
private OrderCreateRequestVO.OrderDetail getOrderDetail(OrderBeanV1 orderBean, CreateOrderResponseVo prepayOrder) {
OrderCreateRequestVO.OrderDetail detail = new OrderCreateRequestVO.OrderDetail();
// payinfo
OrderCreateRequestVO.PayInfo payInfo = new OrderCreateRequestVO.PayInfo();
payInfo.setPay_method_type(0);
payInfo.setPrepay_id(prepayOrder.getPackageX());
String gmtCreate = prepayOrder.getTimestamp();
payInfo.setPrepay_time(DateUtil.convert2Str(new Date(Long.parseLong(gmtCreate + "000")), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
detail.setPay_info(payInfo);
// priceinfo
OrderCreateRequestVO.PriceInfo priceInfo = new OrderCreateRequestVO.PriceInfo();
priceInfo.setOrder_price(orderBean.getSettlementAmount());
priceInfo.setFreight(0L);
detail.setPrice_info(priceInfo);
// list productinfo
List<ProductBeanV1> productList = orderBean.getProductList();
List<OrderCreateRequestVO.ProductInfo> productInfos = new ArrayList<>(productList.size());
productList.forEach(p -> {
OrderCreateRequestVO.ProductInfo productInfo = new OrderCreateRequestVO.ProductInfo();
productInfo.setOut_product_id(p.getProductId());
productInfo.setOut_sku_id(p.getProductId());
productInfo.setProduct_cnt(p.getNumber());
productInfo.setSale_price(p.getSalePrice());
productInfo.setReal_price(p.getSalePrice());
productInfo.setHead_img(p.getPicture());
productInfo.setTitle(p.getProductName());
// fisherman 虚拟商品的 path 未知
productInfo.setPath(productPath + p.getProductId());
productInfos.add(productInfo);
});
detail.setProduct_infos(productInfos);
return detail;
}
}
...@@ -198,7 +198,7 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -198,7 +198,7 @@ public class AppOrderServiceImpl implements AppOrderService {
String skuId = createOrderReq.getOrderProducts().get(0).getSkuId(); String skuId = createOrderReq.getOrderProducts().get(0).getSkuId();
//20200107提取虚拟商品券效验方法---》校验虚拟商品,如果正常则返回创建订单对象 //20200107提取虚拟商品券效验方法---》校验虚拟商品,如果正常则返回创建订单对象
BaseResponse createOrderRequestResponse = BaseResponse createOrderRequestResponse =
sellCouponOrderService.checkOrderCoupon(customerInfo, storeResponse, trackingNo, createOrderReq.getMenuType(), Integer.valueOf(createOrderReq.getBizType()), partnerId, shopId, skuId, null); sellCouponOrderService.checkOrderCoupon(customerInfo, storeResponse, trackingNo, createOrderReq.getMenuType(), Integer.valueOf(createOrderReq.getBizType()), partnerId, shopId, skuId, null,createOrderReq.getScene());
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) { if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
return createOrderRequestResponse; return createOrderRequestResponse;
} }
......
...@@ -43,6 +43,7 @@ import cn.freemud.entities.vo.order.OrderAppealVo; ...@@ -43,6 +43,7 @@ import cn.freemud.entities.vo.order.OrderAppealVo;
import cn.freemud.entities.vo.order.QueryOrderAppealResponseVo; import cn.freemud.entities.vo.order.QueryOrderAppealResponseVo;
import cn.freemud.enums.OrderType; import cn.freemud.enums.OrderType;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.handler.WeChatLiveMsgHandle;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request; import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse; import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse;
...@@ -261,6 +262,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -261,6 +262,8 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private MicroOpenplatformClient microOpenplatformClient; private MicroOpenplatformClient microOpenplatformClient;
@Autowired
private WeChatLiveMsgHandle weChatLiveMsgHandle;
@Override @Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) { public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
...@@ -1834,6 +1837,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1834,6 +1837,8 @@ public class OrderServiceImpl implements Orderservice {
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
weChatLiveMsgHandle.reportOrderStatus(orderBean,3);
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
...@@ -21,8 +21,10 @@ import cn.freemud.entities.dto.product.ProductInfo; ...@@ -21,8 +21,10 @@ import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.product.ValidateProductInfosDto; import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto; import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto; import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto;
import cn.freemud.entities.live.WeChatReportVO;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.handler.WeChatLiveMsgHandle;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.BuyProductOnceManager; import cn.freemud.manager.BuyProductOnceManager;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
...@@ -34,6 +36,7 @@ import cn.freemud.service.thirdparty.PromotionDiscountClient; ...@@ -34,6 +36,7 @@ import cn.freemud.service.thirdparty.PromotionDiscountClient;
import cn.freemud.service.thirdparty.StoreItemClient; import cn.freemud.service.thirdparty.StoreItemClient;
import cn.freemud.utils.AppLogUtil; import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig;
...@@ -50,10 +53,12 @@ import com.freemud.application.sdk.api.log.LogThreadLocal; ...@@ -50,10 +53,12 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog; import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.CreateOrderSceneEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderType; import com.freemud.application.sdk.api.ordercenter.enums.OrderType;
import com.freemud.application.sdk.api.ordercenter.enums.*; import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq; import com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.UpdateOrderReq;
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.create.DeliveryContactInfoCreateReq; import com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq; import com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq;
...@@ -78,6 +83,7 @@ import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse; ...@@ -78,6 +83,7 @@ import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse; import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -178,6 +184,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -178,6 +184,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
private AssortmentOpenPlatformPartnerConfigManager openPlatformPartnerConfigManager; private AssortmentOpenPlatformPartnerConfigManager openPlatformPartnerConfigManager;
@Autowired @Autowired
private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager; private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager;
@Autowired
private WeChatLiveMsgHandle weChatLiveMsgHandle;
/** /**
* 抖音卖券 * 抖音卖券
...@@ -224,7 +232,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -224,7 +232,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
} }
//卖券订单biztype默认传入6 //卖券订单biztype默认传入6
BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), BizTypeEnum.SALE_COUPON.getBizType(), partnerId, storeId, skuId,requestVo.getCardCode()); BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), BizTypeEnum.SALE_COUPON.getBizType(), partnerId, storeId, skuId,requestVo.getCardCode(),requestVo.getScene());
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) { if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
return createOrderRequestResponse; return createOrderRequestResponse;
} }
...@@ -357,7 +365,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -357,7 +365,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
} }
//卖券订单biztype默认传入6 //卖券订单biztype默认传入6
BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode()); BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode(),requestVo.getScene());
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) { if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
return createOrderRequestResponse; return createOrderRequestResponse;
} }
...@@ -493,6 +501,18 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -493,6 +501,18 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
//唤起支付返回参数 //唤起支付返回参数
checkOrder.convent2CreateOrderResponseVo(createOrderResponseVo, appId, response.getData()); checkOrder.convent2CreateOrderResponseVo(createOrderResponseVo, appId, response.getData());
// fisherman 视频卖券 需要拼装额外对象 给前端
if (StringUtils.isNotBlank(requestVo.getScene()) && CreateOrderSceneEnum.verifySceneOrder.contains(requestVo.getScene())) {
BaseResponse<WeChatReportVO> baseResponse = weChatLiveMsgHandle.reportOrder(createPrepayRequestDto, createOrderResponseVo, requestVo.getScene());
if (ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode())) {
WeChatReportVO weChatReportVO = baseResponse.getResult();
OrderCreateRequestVO requestVO = weChatReportVO.getRequestVO();
createOrderResponseVo.setWxOrderInfo(requestVO);
}else {
return baseResponse;
}
}
return ResponseUtil.success(createOrderResponseVo); return ResponseUtil.success(createOrderResponseVo);
} }
...@@ -522,6 +542,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -522,6 +542,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
public void updatExtInfo(UnifiedPayResponseDto response , String appId,CreatePrepayRequestDto createPrepayRequestDto){ public void updatExtInfo(UnifiedPayResponseDto response , String appId,CreatePrepayRequestDto createPrepayRequestDto){
OrderPayResponse createOrderResponseVo = new OrderPayResponse(); OrderPayResponse createOrderResponseVo = new OrderPayResponse();
convent2CreateOrderResponseVo(createOrderResponseVo, appId,response); convent2CreateOrderResponseVo(createOrderResponseVo, appId,response);
createOrderResponseVo.setOpenId(createPrepayRequestDto.getOpenId());
BaseResponse baseEditResponse = payService.updateOrderInfo(createOrderResponseVo, createPrepayRequestDto.getOrderExtInfoDTO(), createPrepayRequestDto.getProductOrderBean(), LogThreadLocal.getTrackingNo()); BaseResponse baseEditResponse = payService.updateOrderInfo(createOrderResponseVo, createPrepayRequestDto.getOrderExtInfoDTO(), createPrepayRequestDto.getProductOrderBean(), LogThreadLocal.getTrackingNo());
} }
...@@ -536,6 +557,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -536,6 +557,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
* @param storeId * @param storeId
* @param skuId * @param skuId
* @param cardCode * @param cardCode
* @param scene 下单的场景
* @return * @return
*/ */
public BaseResponse checkOrderCoupon(AssortmentCustomerInfoVo userLoginInfoDto, public BaseResponse checkOrderCoupon(AssortmentCustomerInfoVo userLoginInfoDto,
...@@ -545,7 +567,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -545,7 +567,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
Integer bizType, Integer bizType,
String partnerId, String partnerId,
String storeId, String storeId,
String skuId,String cardCode) { String skuId,String cardCode,
String scene) {
//校验虚拟商品是否在门店菜单 //校验虚拟商品是否在门店菜单
GetValidateProductInfoDto getProductInfoDto = new GetValidateProductInfoDto(); GetValidateProductInfoDto getProductInfoDto = new GetValidateProductInfoDto();
...@@ -619,7 +642,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -619,7 +642,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
CreateOrderRequest createOrderRequest = convent2NEWCreateOrderRequest(userLoginInfoDto, CreateOrderRequest createOrderRequest = convent2NEWCreateOrderRequest(userLoginInfoDto,
productInfos.getData(), productInfos.getData(),
activeDetailVOS, activeDetailVOS,
storeResponse.getBizVO(),storeId,cardCode,skuId,menuType,bizType); storeResponse.getBizVO(),storeId,cardCode,skuId,menuType,bizType,scene);
return ResponseUtil.success(createOrderRequest); return ResponseUtil.success(createOrderRequest);
} }
...@@ -805,7 +828,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -805,7 +828,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
String cardCode, String cardCode,
String skuId, String skuId,
String channel, String channel,
Integer bizType){ Integer bizType,
String scene){
CreateOrderRequest request = new CreateOrderRequest(); CreateOrderRequest request = new CreateOrderRequest();
Integer orderClient = OrderClientType.SAAS.getIndex(); Integer orderClient = OrderClientType.SAAS.getIndex();
request.setPayChannel(PayChannelType.WECHAT.getIndex().toString()); request.setPayChannel(PayChannelType.WECHAT.getIndex().toString());
...@@ -818,6 +842,11 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -818,6 +842,11 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
if(UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())){ if(UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())){
orderClient = OrderClientType.APP.getIndex(); orderClient = OrderClientType.APP.getIndex();
} }
// fisherman 视频直播卖券 需要修改 orderclient
if (StringUtils.isNotBlank(scene) && CreateOrderSceneEnum.verifySceneOrder.contains(scene)) {
orderClient = OrderClientType.WE_CHAT_LIVE_SELL.getIndex();
}
//抖音小程序 //抖音小程序
if("5".equalsIgnoreCase(userLoginInfoDto.getChannel())) { if("5".equalsIgnoreCase(userLoginInfoDto.getChannel())) {
request.setPayChannel(PayChannelType.TIKTOKPAY.getIndex().toString()); request.setPayChannel(PayChannelType.TIKTOKPAY.getIndex().toString());
...@@ -1065,6 +1094,14 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -1065,6 +1094,14 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
request.setRemark("已完成"); request.setRemark("已完成");
OrderBaseResp updateOrderStateResp = orderSdkService.updateOrderState(request, LogThreadLocal.getTrackingNo()); OrderBaseResp updateOrderStateResp = orderSdkService.updateOrderState(request, LogThreadLocal.getTrackingNo());
orderSdkAdapter.convent2BaseOrderResponse(updateOrderStateResp); orderSdkAdapter.convent2BaseOrderResponse(updateOrderStateResp);
// fisherman 直播卖券-> 需要额外上报 时间来不及 有时间 这一块需要移到 异步调用
try {
weChatLiveMsgHandle.reportOrderStatus(orderBean, 1);
}catch (Exception e){
// 不要影响主流程
}
Map<String, Object> map = Maps.newTreeMap(); Map<String, Object> map = Maps.newTreeMap();
map.put("code", 100); map.put("code", 100);
map.put("message", "success"); map.put("message", "success");
......
package com.freemud.application.sdk.api.ordercenter.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/16 下午2:08
* @description : 视频直播 场景值记录
*/
@AllArgsConstructor
@Getter
public enum CreateOrderSceneEnum {
LIVE_STORE_ENTER("1175", "视频号主页商店入口"),
LIVE_PRODUCT("1177", "视频号直播商品"),
LIVE_HOME_PAGE_PRODUCT("1195", "视频号主页商品tab");
private String scene;
private String name;
/**
* 卖券订单需要校验的场景值
*/
public static List<String> verifySceneOrder = Arrays.asList(CreateOrderSceneEnum.LIVE_STORE_ENTER.getScene(),
CreateOrderSceneEnum.LIVE_PRODUCT.getScene(),
CreateOrderSceneEnum.LIVE_HOME_PAGE_PRODUCT.getScene()
);
}
...@@ -11,6 +11,10 @@ package com.freemud.application.sdk.api.ordercenter.enums; ...@@ -11,6 +11,10 @@ package com.freemud.application.sdk.api.ordercenter.enums;
* @date: 2019/4/2 13:44 * @date: 2019/4/2 13:44
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved. * @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* <p>
* <p>
* * com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
* * 两个枚举类 需要同步加, 不然在订单业务代码中 会报错
*/ */
public enum OrderClientType { public enum OrderClientType {
...@@ -18,7 +22,7 @@ public enum OrderClientType { ...@@ -18,7 +22,7 @@ public enum OrderClientType {
SAAS(2, "i点餐"), SAAS(2, "i点餐"),
ALIPAY(3, "自营支付宝小程序"), ALIPAY(3, "自营支付宝小程序"),
HTML5(4, "自营H5"), HTML5(4, "自营H5"),
ANDROID( 5, "自营安卓APP"), ANDROID(5, "自营安卓APP"),
IOS(6, "自营苹果APP"), IOS(6, "自营苹果APP"),
PC_WEB(7, "自营PC-WEB"), PC_WEB(7, "自营PC-WEB"),
ELEME(8, "饿了么"), ELEME(8, "饿了么"),
...@@ -27,9 +31,9 @@ public enum OrderClientType { ...@@ -27,9 +31,9 @@ public enum OrderClientType {
MEITUAN(11, "美团外卖"), MEITUAN(11, "美团外卖"),
APP(12, "自营APP"), APP(12, "自营APP"),
I_MEMBER(13, "i应用会员"), I_MEMBER(13, "i应用会员"),
I_CARGO(14 , "i应用订货"), I_CARGO(14, "i应用订货"),
POS(15 , "POS"), POS(15, "POS"),
WAI_MEAL(19,"i围餐"), WAI_MEAL(19, "i围餐"),
JUBAOPEN(20, "美团服务商"), JUBAOPEN(20, "美团服务商"),
DIANPING(21, "美团点评"), DIANPING(21, "美团点评"),
KOUBEI(22, "口碑"), KOUBEI(22, "口碑"),
...@@ -39,9 +43,10 @@ public enum OrderClientType { ...@@ -39,9 +43,10 @@ public enum OrderClientType {
TIKTOKPAY(27, "抖音小程序"), TIKTOKPAY(27, "抖音小程序"),
BEAUTIFUL(28, "美业"), BEAUTIFUL(28, "美业"),
ASSISTANT(29, "非码小助手"), ASSISTANT(29, "非码小助手"),
SHERPAS(30,"食派士"), SHERPAS(30, "食派士"),
PARKING(99 , "农工商停车"), PARKING(99, "农工商停车"),
CASHIER(36, "收银买单"), CASHIER(36, "收银买单"),
WE_CHAT_LIVE_SELL(37, "微信视频卖券"),
; ;
...@@ -69,9 +74,9 @@ public enum OrderClientType { ...@@ -69,9 +74,9 @@ public enum OrderClientType {
this.name = name; this.name = name;
} }
public static OrderClientType getOrderClientType(Integer index){ public static OrderClientType getOrderClientType(Integer index) {
for (OrderClientType orderType : values()){ for (OrderClientType orderType : values()) {
if (index.equals(orderType.getIndex())){ if (index.equals(orderType.getIndex())) {
return orderType; return orderType;
} }
} }
......
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