|
@@ -48,6 +48,7 @@ import org.springblade.modules.api.request.OrderTakeRequest;
|
|
|
import org.springblade.modules.api.response.ConsignResponse;
|
|
|
import org.springblade.modules.auth.utils.TokenUtil;
|
|
|
import org.springblade.modules.finance.entity.Order;
|
|
|
+import org.springblade.modules.finance.entity.OrderConsign;
|
|
|
import org.springblade.modules.finance.entity.OrderGrant;
|
|
|
import org.springblade.modules.finance.entity.PlatformAuthorization;
|
|
|
import org.springblade.modules.finance.mapper.PlatformAuthorizationMapper;
|
|
@@ -63,6 +64,7 @@ import org.springblade.modules.shopping.vo.ConsignListVO;
|
|
|
import org.springblade.modules.shopping.vo.ConsignVO;
|
|
|
import org.springblade.modules.shopping.wrapper.ConsignWrapper;
|
|
|
import org.springblade.modules.system.entity.UserApp;
|
|
|
+import org.springblade.modules.system.mapper.UserAppMapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -97,6 +99,9 @@ public class Api05Controller extends BladeController {
|
|
|
@Resource
|
|
|
private PlatformAuthorizationMapper paMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private UserAppMapper userAppMapper;
|
|
|
+
|
|
|
//抢购
|
|
|
private static final String TRADE_URL = "/api/v1/aliPay/sdk/trade_notify_url";
|
|
|
@Autowired
|
|
@@ -158,7 +163,19 @@ public class Api05Controller extends BladeController {
|
|
|
response = orderService.consignGrant(query, request.getConsignConfigId(), request.getOrderNo());
|
|
|
//返回订单号
|
|
|
response.setOutTradeNo(outTradeNo);
|
|
|
- boolean flg = orderConsign(outTradeNo, request.getOrderNo());
|
|
|
+ //获取当前订单信息
|
|
|
+ OrderConsign orderConsign = orderConsignService.getOne(Wrappers.lambdaQuery(OrderConsign.class).eq(OrderConsign::getOutTradeNo,outTradeNo));
|
|
|
+ String collectionAccount = properties.getPayeeUserId();//默认为系统收单庄户
|
|
|
+ if (0 != orderConsign.getConsignUserId()){//如果为用户单则修改收款账户单为用户支付宝账户
|
|
|
+ //等于用户单时进行用户打款操作
|
|
|
+ //获取寄售用户支付至账号进行打款
|
|
|
+ LambdaQueryWrapper<UserApp> wrapper = Wrappers.lambdaQuery(UserApp.class);
|
|
|
+ wrapper.eq(UserApp::getUserId,orderConsign.getConsignUserId());
|
|
|
+ UserApp collectionUser = userAppMapper.selectOne(wrapper);
|
|
|
+ collectionAccount = collectionUser.getAlipayUserId();
|
|
|
+ }
|
|
|
+ //使用收款账户进行打款
|
|
|
+ boolean flg = orderConsign(outTradeNo, request.getOrderNo(),collectionAccount);
|
|
|
if (flg){//是否发起统一收单
|
|
|
//修改授权状态
|
|
|
flg = orderGrantService.thaw(orderGrant);//flg = true
|
|
@@ -342,7 +359,7 @@ public class Api05Controller extends BladeController {
|
|
|
* @param orderNo 授权
|
|
|
* @return R
|
|
|
*/
|
|
|
- public boolean orderConsign(String outTradeNo, String orderNo) {
|
|
|
+ public boolean orderConsign(String outTradeNo, String orderNo, String collectionAccount) {
|
|
|
//查询抢购订单数据
|
|
|
Order order = orderService.getOne(Wrappers.<Order>lambdaQuery().eq(Order::getOutTradeNo, outTradeNo));
|
|
|
if (ObjectUtil.isNull(order)){
|
|
@@ -371,7 +388,8 @@ public class Api05Controller extends BladeController {
|
|
|
//授权数量不为1时,交易继续,只进行收单操作
|
|
|
data.put("auth_confirm_mode", "NOT_COMPLETE");//不解冻
|
|
|
}
|
|
|
- data.put("seller_id", properties.getPayeeUserId()); //收款方
|
|
|
+ data.put("seller_id", collectionAccount); //收款方
|
|
|
+// data.put("seller_id", properties.getPayeeUserId()); //收款方
|
|
|
data.put("buyer_id", query.getAlipayUserId()); //买家ID //2088012801069195
|
|
|
//APP支付
|
|
|
AlipayTradePayRequest request = new AlipayTradePayRequest();
|