Просмотр исходного кода

平台付款预授权单查询值修改

简德馨 2 лет назад
Родитель
Сommit
1817b01a69

+ 3 - 1
src/main/java/org/springblade/modules/api/controller/AliPay01Controller.java

@@ -24,6 +24,7 @@ import org.springblade.common.cache.ParamCache;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.common.utils.NotifyUtils;
+import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.log.annotation.ApiLog;
 import org.springblade.core.log.logger.BladeLogger;
 import org.springblade.core.tool.api.R;
@@ -59,7 +60,7 @@ import java.util.*;
 @AllArgsConstructor
 @RequestMapping(CommonConstant.API_URL + "/aliPay/sdk")
 @Api(value = "支付宝SDK", tags = "95.支付宝SDK")
-public class AliPay01Controller {
+public class AliPay01Controller extends BladeController {
 
 	private static final Logger log = LoggerFactory.getLogger(AliPay01Controller.class);
 
@@ -551,6 +552,7 @@ public class AliPay01Controller {
 			PlatformAuthorization platformAuthorization = new PlatformAuthorization();
 			platformAuthorization.setConsignConfigId(batNo);//场次id
 			platformAuthorization.setTotalNum(num);//授权数量
+			platformAuthorization.setCreateUserId(getUser().getUserId());//创建用户id
 			platformAuthorization.setState(0);//未授权
 			platformAuthorization.setOrderNo(orderNo);//订单编号
 			platformAuthorization.setAuthPrice(price.multiply(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_DOWN));//订单金额

+ 26 - 4
src/main/java/org/springblade/modules/api/controller/Api05Controller.java

@@ -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);
 			}

+ 7 - 0
src/main/java/org/springblade/modules/finance/entity/PlatformAuthorization.java

@@ -25,6 +25,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -88,6 +89,12 @@ public class PlatformAuthorization implements Serializable {
 	@ApiModelProperty(value = "授权状态:0、未授权,1、已授权,2已解冻")
 	private Integer state;
 
+	/**
+	 * 用户创建id
+	 */
+	@ApiModelProperty(value = "用户创建id")
+	private Long createUserId;
+
 	/**
 	 * 结束时间
 	 */