|
@@ -47,6 +47,8 @@ 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.OrderGrant;
|
|
|
+import org.springblade.modules.finance.entity.PlatformAuthorization;
|
|
|
+import org.springblade.modules.finance.mapper.PlatformAuthorizationMapper;
|
|
|
import org.springblade.modules.finance.pay.entity.AlipayProperties;
|
|
|
import org.springblade.modules.finance.service.IOrderConsignService;
|
|
|
import org.springblade.modules.finance.service.IOrderGrantService;
|
|
@@ -63,6 +65,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
@@ -89,6 +92,9 @@ public class Api05Controller extends BladeController {
|
|
|
private final IOrderConsignService orderConsignService;
|
|
|
private final IOrderGrantService orderGrantService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private PlatformAuthorizationMapper paMapper;
|
|
|
+
|
|
|
//抢购
|
|
|
private static final String TRADE_URL = "/api/v1/aliPay/sdk/trade_notify_url";
|
|
|
@Autowired
|
|
@@ -175,17 +181,33 @@ public class Api05Controller extends BladeController {
|
|
|
@PostMapping("getConsignList")
|
|
|
@ApiOperation(value = "查询付款授权场次")
|
|
|
public R<List<ConsignListVO>> getConsignList(){
|
|
|
+ //查询已授权表记录
|
|
|
+ LambdaQueryWrapper<PlatformAuthorization> query = Wrappers.lambdaQuery(PlatformAuthorization.class);
|
|
|
+ query.eq(PlatformAuthorization::getState, 1);
|
|
|
+ List<PlatformAuthorization> platformAuthorizations = paMapper.selectList(query);
|
|
|
+ Map<Long, List<PlatformAuthorization>> collect = platformAuthorizations.stream().collect(Collectors.groupingBy(PlatformAuthorization::getConsignConfigId));
|
|
|
LambdaQueryWrapper<Consign> consignLambdaQueryWrapper = Wrappers.lambdaQuery(Consign.class);
|
|
|
consignLambdaQueryWrapper.eq(Consign::getNowStock, 0).eq(Consign::getConsignState, 2);
|
|
|
List<Consign> list = consignService.list(consignLambdaQueryWrapper);
|
|
|
ConsignListVO consignListVO = null;
|
|
|
- List<ConsignListVO> consignListVOS = new ArrayList<>();;
|
|
|
+ List<ConsignListVO> consignListVOS = new ArrayList<>();
|
|
|
Map<Long, List<Consign>> collect1 = list.stream().collect(Collectors.groupingBy(Consign::getConsignConfigId));
|
|
|
for (Map.Entry<Long, List<Consign>> entry : collect1.entrySet()) {
|
|
|
- if(entry.getValue().size() > 0){
|
|
|
- consignListVO = new ConsignListVO();
|
|
|
+ //取出之前授权的列表
|
|
|
+ List<PlatformAuthorization> platformAuthorizations1 = collect.get(entry.getKey());
|
|
|
+ consignListVO = new ConsignListVO();
|
|
|
+ Integer num = entry.getValue().size();
|
|
|
+ for (PlatformAuthorization platformAuthorization : platformAuthorizations1) {
|
|
|
+ //判断授权数量是否大于待付款数量
|
|
|
+ if(num > platformAuthorization.getTotalNum()){
|
|
|
+ num = num - platformAuthorization.getTotalNum();
|
|
|
+ }else{
|
|
|
+ num = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(num > 0){
|
|
|
consignListVO.setConsignConfigId(entry.getKey());
|
|
|
- consignListVO.setOrderNum(entry.getValue().size());
|
|
|
+ consignListVO.setOrderNum(num);
|
|
|
consignListVO.setOrderPrice(new BigDecimal(entry.getValue().get(0).getConsignPrice()).setScale(2, BigDecimal.ROUND_HALF_DOWN));
|
|
|
consignListVOS.add(consignListVO);
|
|
|
}
|