Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
f9359c16
Commit
f9359c16
authored
Mar 21, 2023
by
查志伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/买券订单支持走非码付' into develop
parents
958a807c
d5627814
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
163 deletions
+22
-163
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+12
-0
order-application-service/src/main/java/cn/freemud/manager/BuyProductOnceManager.java
+0
-70
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+10
-52
order-application-service/src/test/java/cn.freemud/manager/BuyProductOnceTest.java
+0
-41
No files found.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
f9359c16
...
@@ -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
);
}
}
...
...
order-application-service/src/main/java/cn/freemud/manager/BuyProductOnceManager.java
deleted
100644 → 0
View file @
958a807c
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
;
}
}
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
f9359c16
...
@@ -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
)
{
...
...
order-application-service/src/test/java/cn.freemud/manager/BuyProductOnceTest.java
deleted
100644 → 0
View file @
958a807c
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
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment