Commit f9359c16 by 查志伟

Merge branch 'feature/买券订单支持走非码付' into develop

parents 958a807c d5627814
...@@ -21,6 +21,7 @@ import cn.freemud.entities.vo.*; ...@@ -21,6 +21,7 @@ import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo; 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.*; import cn.freemud.entities.vo.order.*;
import cn.freemud.enums.ResponseResult;
import cn.freemud.handler.CouponOrderAutoRefundHandler; import cn.freemud.handler.CouponOrderAutoRefundHandler;
import cn.freemud.handler.OrderReportJobHandler; import cn.freemud.handler.OrderReportJobHandler;
import cn.freemud.service.EncircleOrderService; import cn.freemud.service.EncircleOrderService;
...@@ -38,6 +39,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -38,6 +39,7 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -71,6 +73,13 @@ public class OrderController { ...@@ -71,6 +73,13 @@ public class OrderController {
/** /**
* 还没有切换到新版本小程序的商户,多个用;分隔
* 不在该列表里的商户,不允许从旧小程序里下单(用户小程序缓存是老小程序情况)
*/
@Value("${config.oldVersionPartner:}")
private String oldVersionPartner;
/**
* 废弃,不在使用 * 废弃,不在使用
* 创建订单之前校验前面排队的订单数 * 创建订单之前校验前面排队的订单数
*/ */
...@@ -87,6 +96,9 @@ public class OrderController { ...@@ -87,6 +96,9 @@ public class OrderController {
@ApiAnnotation(logMessage = "createOrder") @ApiAnnotation(logMessage = "createOrder")
@PostMapping("/createOrder") @PostMapping("/createOrder")
public BaseResponse createOrder(@Validated @LogParams @RequestBody CreateOrderVo createOrderVo) { public BaseResponse createOrder(@Validated @LogParams @RequestBody CreateOrderVo createOrderVo) {
if (StringUtils.isNotBlank(oldVersionPartner) && !oldVersionPartner.contains(createOrderVo.getPartnerId())) {
return ResponseUtil.error(ResponseResult.OPERATE_NOT_SUPPORT.getCode(), "小程序版本过低, 请升级版本!");
}
return orderAdapterService.createOrderNew(createOrderVo); return orderAdapterService.createOrderNew(createOrderVo);
} }
......
package cn.freemud.manager;
import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.enums.ResponseResult;
import cn.freemud.redis.RedisCache;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* @author freemud
* @title: BuyProductOnceManager
* @projectName order-group
* @description: 618活动一元秒杀抢18元券包活动专属manager
* @date 2021/6/10上午9:53
*/
@Component
public class BuyProductOnceManager {
// @Autowired
// protected RedisTemplate redisTemplate;
@Autowired
private RedisCache redisCache;
//用户限购:每人每单限购一次 / 禁用
public ResponseResult checkBuyProductOnce(List<ProductInfo> products, String partnerId, String userId) {
RedisTemplate redisTemplate = redisCache.getRedisTemplate();
List<ProductInfo> productsCheck = products.stream().filter(product -> product.getIsLimitNumProduct() == 1).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(productsCheck)) {
//每人每单限购一次
if (productsCheck.size() > 1) {
return ResponseResult.USER_BUY_PRODUCT_MORE_THAN_THE_NUMBER;
}
String key = this.getCheckBuyProductOnceKey(partnerId, userId,productsCheck.get(0).getPid());
if (redisTemplate.hasKey(key)) {
return ResponseResult.USER_BUY_PRODUCT_ALREADY;
}
redisTemplate.opsForValue().set(key, "Y");
//活动时间10天,防止redis脏数据,设置过期时间
redisTemplate.expire(key,10, TimeUnit.DAYS);
}
return ResponseResult.SUCCESS;
}
public String getCheckBuyProductOnceKey(String partnerId, String userId,String pid) {
StringBuilder key = new StringBuilder(RedisKeyConstant.USER_BUY_PRODUCT_ONCE)
.append(partnerId)
.append(":")
.append(userId)
.append(":")
.append(pid);
return key.toString();
}
//清掉key
public boolean removeCheckBuyProductOnceKey(String partnerId, String userId,String pid) {
RedisTemplate redisTemplate = redisCache.getRedisTemplate();
String key = this.getCheckBuyProductOnceKey(partnerId, userId,pid);
redisTemplate.delete(key);
return true;
}
}
...@@ -33,7 +33,6 @@ import cn.freemud.enums.*; ...@@ -33,7 +33,6 @@ import cn.freemud.enums.*;
import cn.freemud.handler.MemberBlacklistHandler; import cn.freemud.handler.MemberBlacklistHandler;
import cn.freemud.handler.WeChatLiveMsgHandle; import cn.freemud.handler.WeChatLiveMsgHandle;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.BuyProductOnceManager;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
import cn.freemud.service.OrderFactoryService; import cn.freemud.service.OrderFactoryService;
...@@ -65,7 +64,6 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp; ...@@ -65,7 +64,6 @@ 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.response.orderInfo.OrderItemResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO; import com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO;
import com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest; import com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest;
import com.freemud.application.sdk.api.stockapi.service.StockSdkService; import com.freemud.application.sdk.api.stockapi.service.StockSdkService;
...@@ -91,7 +89,7 @@ import org.springframework.stereotype.Service; ...@@ -91,7 +89,7 @@ import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static com.freemud.application.sdk.api.ordercenter.enums.OrderType.*; import static com.freemud.application.sdk.api.ordercenter.enums.OrderType.GENERAL_DINE_IN;
import static com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR; import static com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR;
/** /**
...@@ -113,14 +111,11 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -113,14 +111,11 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
@Autowired @Autowired
private CheckOrder checkOrder; private CheckOrder checkOrder;
@Autowired @Autowired
private MenuService menuService;
@Autowired
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
//聚合订单服务 //聚合订单服务
@Autowired @Autowired
private OrderCenterSdkService orderCenterSdkService; private OrderCenterSdkService orderCenterSdkService;
@Autowired @Autowired
// private StoreCenterService storeCenterService;
private StoreServiceImpl storeService; private StoreServiceImpl storeService;
@Autowired @Autowired
private OrderAdapter orderAdapter; private OrderAdapter orderAdapter;
...@@ -136,8 +131,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -136,8 +131,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
private CouponService couponService; private CouponService couponService;
@Autowired @Autowired
private StockSdkService stockSdkService; private StockSdkService stockSdkService;
@Value("${coupon.app.id}")
private String appId;
@Autowired @Autowired
private StoreItemClient storeItemClient; private StoreItemClient storeItemClient;
...@@ -147,25 +140,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -147,25 +140,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
private String easyPartnerId; private String easyPartnerId;
@Value("${ngs.partnerId.supermarket}") @Value("${ngs.partnerId.supermarket}")
private String supermarketPartnerId; private String supermarketPartnerId;
@Value("#{'${buyProductOnce.partnerId}'.split(',')}")
private List<String> buyProductOncePartnerIds;
@Value("#{'${virtual.product.svc.pay.partnerId:}'.split(',')}") @Value("#{'${virtual.product.svc.pay.partnerId:}'.split(',')}")
private List<String> virtualProductSvcPayPartnerId; private List<String> virtualProductSvcPayPartnerId;
private final String SUCCESS = "100";
private final String ngsCouponProductId = "76161384";
@Autowired @Autowired
private OrderBusinessService orderBusinessService; private OrderBusinessService orderBusinessService;
@Autowired @Autowired
private BuyProductOnceManager buyProductOnceManager;
@Autowired
private PromotionDiscountClient promotionDiscountClient; private PromotionDiscountClient promotionDiscountClient;
@Autowired @Autowired
...@@ -321,7 +301,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -321,7 +301,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
String trackingNo = LogThreadLocal.getTrackingNo(); String trackingNo = LogThreadLocal.getTrackingNo();
String partnerId = userLoginInfoDto.getPartnerId(); String partnerId = userLoginInfoDto.getPartnerId();
String storeId = requestVo.getShopId(); String storeId = requestVo.getShopId();
String userId = userLoginInfoDto.getMemberId();
String openId = userLoginInfoDto.getOpenId(); String openId = userLoginInfoDto.getOpenId();
String appId = userLoginInfoDto.getAppId(); String appId = userLoginInfoDto.getAppId();
...@@ -361,20 +340,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -361,20 +340,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
return ResponseUtil.error(ResponseResult.STORE_ITEM_CHECK_INVAILD); return ResponseUtil.error(ResponseResult.STORE_ITEM_CHECK_INVAILD);
} }
//通过商户号配置进阿波罗,识别哪些商户走仅限一次卖券业务 wanghanghang 0610
//【P0】【业务 / 米食】【B端 / 万象 / 活动下架】商户618活动:一元买虚拟商品特殊处理活动下架,删除特殊增加字段 wanghanghang
//处理方式,阿波罗配置商户改成空。没必要删除代码。保留后续此类活动还可继续使用
if (buyProductOncePartnerIds != null && buyProductOncePartnerIds.contains(partnerId)) {
try {
ResponseResult checkRequest = buyProductOnceManager.checkBuyProductOnce(productInfosDto.getData().getProducts(),partnerId,userId);
if(!checkRequest.equals(ResponseResult.SUCCESS)){
return ResponseUtil.error(checkRequest);
}
}catch (Exception e){
AppLogUtil.infoLog("校验用户每人每单限购一次异常",getProductInfoDto,productInfosDto);
}
}
//卖券订单biztype默认传入6 //卖券订单biztype默认传入6
BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponseDto, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode(),requestVo.getScene()); BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponseDto, 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) {
...@@ -415,13 +380,10 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -415,13 +380,10 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(), ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"updateStock", JSONObject.toJSONString(updateStocksRequest), JSONObject.toJSONString(baseResponse)); "updateStock", JSONObject.toJSONString(updateStocksRequest), JSONObject.toJSONString(baseResponse));
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, baseResponse.getCode())) { if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
//TODO 失败取消订单 // 失败取消订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, "商品库存不足", "", null ,orderBean.getOrderClient()); AfterSalesType.SYSTEM_CANCEL, "商品库存不足", "", null ,orderBean.getOrderClient());
BaseOrderResponse orderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//异常清理掉key
// //【P0】【业务 / 米食】【B端 / 万象 / 活动下架】商户618活动:一元买虚拟商品特殊处理活动下架,删除特殊增加字段 7.13 wanghanghang
// buyProductOnceManager.removeCheckBuyProductOnceKey(partnerId,userId,orderBean.getProductList().get(0).getProductId());
return ResponseUtil.error(baseResponse.getCode(),"商品库存不足"); return ResponseUtil.error(baseResponse.getCode(),"商品库存不足");
} }
} }
...@@ -449,7 +411,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -449,7 +411,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
createPrepayRequestDto.setTransId(orderInfoReqsBaseResponse.getResult().getOrderCode()); createPrepayRequestDto.setTransId(orderInfoReqsBaseResponse.getResult().getOrderCode());
createPrepayRequestDto.setWxAppId(userLoginInfoDto.getWxAppId()); createPrepayRequestDto.setWxAppId(userLoginInfoDto.getWxAppId());
createPrepayRequestDto.setOpenId(userLoginInfoDto.getOpenId()); createPrepayRequestDto.setOpenId(userLoginInfoDto.getOpenId());
// createPrepayRequestDto.setFaceCode(null);
createPrepayRequestDto.setCardCode(requestVo.getCardCode()); createPrepayRequestDto.setCardCode(requestVo.getCardCode());
createPrepayRequestDto.setPayCode(null); createPrepayRequestDto.setPayCode(null);
createPrepayRequestDto.setFatherOrderBean(createOrderResponse.getData()); createPrepayRequestDto.setFatherOrderBean(createOrderResponse.getData());
...@@ -457,7 +418,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -457,7 +418,6 @@ 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);
OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto(); OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto();
String deliveryHoursDayStart = ""; String deliveryHoursDayStart = "";
String deliveryHoursDayEnd = ""; String deliveryHoursDayEnd = "";
...@@ -465,7 +425,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -465,7 +425,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
String[] days = storeResponseDto.getDeliveryHoursDay().split("-"); String[] days = storeResponseDto.getDeliveryHoursDay().split("-");
if (days.length == 2) { if (days.length == 2) {
deliveryHoursDayStart = DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd_date) + " " + days[0] + ":00"; deliveryHoursDayStart = DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd_date) + " " + days[0] + ":00";
// deliveryHoursDayEnd = DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd_date) + " " + days[1] + ":00";
} }
} }
orderExtInfoDto.setDeliveryHoursDayStart(deliveryHoursDayStart); orderExtInfoDto.setDeliveryHoursDayStart(deliveryHoursDayStart);
...@@ -483,7 +442,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -483,7 +442,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
orderExtInfoDto.setSessionKey(userLoginInfoDto.getSessionKey()); orderExtInfoDto.setSessionKey(userLoginInfoDto.getSessionKey());
orderExtInfoDto.setFormId(requestVo.getFormId()); orderExtInfoDto.setFormId(requestVo.getFormId());
orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId()); orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId());
// orderExtInfoDto.setUnDistribution(requestVo.getUnDistribution());
createPrepayRequestDto.setOrderExtInfoDTO(orderExtInfoDto); createPrepayRequestDto.setOrderExtInfoDTO(orderExtInfoDto);
if (StringUtils.isNotBlank(requestVo.getCardCode()) || createPrepayRequestDto.getTotalAmount() == 0) { if (StringUtils.isNotBlank(requestVo.getCardCode()) || createPrepayRequestDto.getTotalAmount() == 0) {
return ResponseUtil.success(payService.createPrepayOrder(createPrepayRequestDto)); return ResponseUtil.success(payService.createPrepayOrder(createPrepayRequestDto));
...@@ -491,15 +449,18 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -491,15 +449,18 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
//查询虚拟商品卖券支付配置中的分账门店信息 //查询虚拟商品卖券支付配置中的分账门店信息
//如果需要分账查询支付配置中的分账门店信息,否则查询sdk //如果需要分账查询支付配置中的分账门店信息,否则查询sdk
// AssortmentOpenPlatformIappWxappStore wxAppStore = new AssortmentOpenPlatformIappWxappStore();
if(createOrderRequest.getIsSplitAccount() != null && createOrderRequest.getIsSplitAccount() == 1){ if(createOrderRequest.getIsSplitAccount() != null && createOrderRequest.getIsSplitAccount() == 1){
//11-虚拟卖券门店 //11-虚拟卖券门店
wxAppStore = payService.getIappWxappStoreInfo(userLoginInfoDto.getWxAppId(),AggregationTypeEnum.TYPE_11.getCode()); wxAppStore = payService.getIappWxappStoreInfo(userLoginInfoDto.getWxAppId(),AggregationTypeEnum.TYPE_11.getCode());
}else if(wxAppStore == null){ }else if(wxAppStore == null){
wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(userLoginInfoDto.getWxAppId(),storeId); wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(userLoginInfoDto.getWxAppId(),storeId);
} }
if ((wxAppStore == null)) { if (wxAppStore == null) {
return ResponseUtil.error(ResponseCodeConstant.RESPONSE_ERROR_STR, "支付门店未配置"); // 切换至非码付,聚合层无需配置支付clientCode, 直接设置clientCode=0即可,不影响流程
wxAppStore = new AssortmentOpenPlatformIappWxappStore();
wxAppStore.setAppId(userLoginInfoDto.getWxAppId());
wxAppStore.setStoreId(storeId);
wxAppStore.setClientCode("0");
} }
createOrderRequest.setStoreId(storeId); createOrderRequest.setStoreId(storeId);
//创建卖券预支付 //创建卖券预支付
...@@ -508,13 +469,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -508,13 +469,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
CreateOrderResponseVo createOrderResponseVo = new CreateOrderResponseVo(); CreateOrderResponseVo createOrderResponseVo = new CreateOrderResponseVo();
createOrderResponseVo.setOid(orderCode); createOrderResponseVo.setOid(orderCode);
//线上现金支付,创建预支付订单,唤起支付 //线上现金支付,创建预支付订单,唤起支付
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> response = null;
Long payClientCode = StringUtils.isEmpty(wxAppStore.getClientCode())? 9L : Long.parseLong(wxAppStore.getClientCode()); Long payClientCode = StringUtils.isEmpty(wxAppStore.getClientCode())? 9L : Long.parseLong(wxAppStore.getClientCode());
//实际支付金额 //实际支付金额
Long cashPrice = createOrderRequest.getSettlementAmount(); Long cashPrice = createOrderRequest.getSettlementAmount();
UnifiedOrderRequestDto requestDto = checkOrder.convert2UnifiedOrderRequestDto(result, openId, cashPrice, payClientCode, reverseNotifyiDcUrl, getPartnerPayOvertime(partnerId)); UnifiedOrderRequestDto requestDto = checkOrder.convert2UnifiedOrderRequestDto(result, openId, cashPrice, payClientCode, reverseNotifyiDcUrl, getPartnerPayOvertime(partnerId));
requestDto.setStoreId(wxAppStore.getStoreId()); requestDto.setStoreId(wxAppStore.getStoreId());
response = payService.unifiedOrder(requestDto); com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> response = payService.unifiedOrder(requestDto);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response.getCode())) { if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response.getCode())) {
return ResponseUtil.error(orderInfoReqsBaseResponse.getCode(), "支付异常"); return ResponseUtil.error(orderInfoReqsBaseResponse.getCode(), "支付异常");
} }
...@@ -546,8 +506,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -546,8 +506,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
orderPayResponse.setWxAppid(appId); orderPayResponse.setWxAppid(appId);
orderPayResponse.setFmId(response.getFmId()); orderPayResponse.setFmId(response.getFmId());
orderPayResponse.setOpenId(createPrepayRequestDto.getOpenId()); orderPayResponse.setOpenId(createPrepayRequestDto.getOpenId());
// createOrderResponseVo.setEndTransId(response.getEndTransId());
// createOrderResponseVo.setPaySuccess(false);
String payOrderDto = response.getPayOrder(); String payOrderDto = response.getPayOrder();
PayOrderDto payOrderBean = JSONObject.parseObject(payOrderDto, PayOrderDto.class); PayOrderDto payOrderBean = JSONObject.parseObject(payOrderDto, PayOrderDto.class);
if (null != payOrderBean) { if (null != payOrderBean) {
......
package cn.freemud.manager;
import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.enums.ResponseResult;
import cn.freemud.utils.ResponseUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
/**
* @author freemud
* @title: BuyProductOnceTest
* @projectName order-group
* @description: TODO
* @date 2021/6/10下午2:52
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class BuyProductOnceTest {
@Autowired
private BuyProductOnceManager buyProductOnceManager;
@Test
public void buyProductOnceTest(){
List<ProductInfo> products = new ArrayList<>();
ProductInfo productInfo = new ProductInfo();
productInfo.setIsLimitNumProduct(1);
products.add(productInfo);
ResponseResult re = buyProductOnceManager.checkBuyProductOnce(products,"1864","wanghanghang");
System.out.println(re.getCode() + " " + re.getMessage());
}
}
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