VEAR 2 роки тому
батько
коміт
e1cf3f97cb

+ 76 - 10
src/main/java/org/springblade/modules/api/controller/AliPay01Controller.java

@@ -2,6 +2,7 @@ package org.springblade.modules.api.controller;
 
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alipay.api.*;
 import com.alipay.api.domain.AlipayFundTransUniTransferModel;
@@ -38,6 +39,7 @@ import org.springblade.modules.finance.pay.entity.AlipayProperties;
 import org.springblade.modules.finance.service.IOrderConsignService;
 import org.springblade.modules.finance.service.IOrderGrantService;
 import org.springblade.modules.finance.service.IOrderService;
+import org.springblade.modules.platform.wrapper.UserAppWrapper;
 import org.springblade.modules.shopping.entity.Consign;
 import org.springblade.modules.shopping.service.IConsignService;
 import org.springblade.modules.system.entity.User;
@@ -255,6 +257,10 @@ public class AliPay01Controller extends BladeController {
 		if(query.getState() != 1 ){
 			return R.fail("该账号已冻结!");
 		}
+		boolean flg = UserAppWrapper.build().isTicket(query.getTicket(), price);
+		if (!flg){
+			return R.fail("您的绿色积分不足!");
+		}
 		Consign consign = consignService.queryConsign(batNo, userId);
 		if (ObjectUtil.isNull(consign)){
 			return R.fail("亲,好物已抢完欢迎再来!");
@@ -362,37 +368,39 @@ public class AliPay01Controller extends BladeController {
 		alipayConfig.setRootCertPath("D:\\Blade2.9.0\\bladex-boot\\src\\main\\resources\\alipay\\alipayRootCert.crt");
 		AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
 		AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
-		model.setOutBizNo("9c721d8d8a648b8b5c9c2084b264acd");
-		model.setRemark("201905代发");
+		String outBizNo = CommonUtil.genTimeID();
+		model.setOutBizNo(outBizNo);
+		model.setRemark("20220410退款");
 		model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
 		model.setBizScene("DIRECT_TRANSFER");
 		Participant payeeInfo = new Participant();
-		payeeInfo.setIdentity("2088022745054432");
+		payeeInfo.setIdentity("2088012801069195");
 		payeeInfo.setIdentityType("ALIPAY_USER_ID");
-		payeeInfo.setName("徐维");
+		payeeInfo.setName("丰元权");
 		model.setPayeeInfo(payeeInfo);
-		model.setTransAmount("0.1");
+		model.setTransAmount("100");
 		model.setProductCode("TRANS_ACCOUNT_NO_PWD");
-		model.setOrderTitle("公司xxx");
+		model.setOrderTitle("中宏科技");
 		AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
 		request.setBizModel(model);
 		AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
-		System.out.println(response.getBody());
 		if (response.isSuccess()){
+			logger.info("打款成功", response.getBody());
+			JSONUtil.parseObj(response.getBody());
 			return R.data(response.getBody());
 		}
 		logger.info("打款失败", response.getBody());
-		return R.fail("打款失败!");
+		return R.success("打款成功!");
 	}
 
 	@ApiLog("抢购打款-测试")
 	@PostMapping("/pay_006")
 	@ApiOperation(value = "单笔转账到支付宝账户", notes = "单笔转账到支付宝账户")
 	@ApiOperationSupport(order = 5)
-	public R pay006(@ApiParam(value = "支付宝", required = true) @RequestParam String aliPayId,
+	public R pay006(@ApiParam(value = "id", required = true) @RequestParam String id,
 					@ApiParam(value = "真实姓名", required = true) @RequestParam String name,
 					@ApiParam(value = "金额", required = true) @RequestParam String amount) {
-		//transfer(aliPayId, name, amount);
+		transfer(id, amount, name);
 		return R.fail("正在打款...");
 	}
 
@@ -710,6 +718,64 @@ public class AliPay01Controller extends BladeController {
 		return "success";
 	}
 
+	/**
+	 * 用户仓单收款
+	 * 1、向用户打款
+	 * 2、修改寄售订单金额
+	 * @param name 用户
+	 * @param transAmount 金额
+	 */
+	public void transfer(String identity, String transAmount, String name){
+		try {
+			String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCU4XTbNjnNOmuEnwBEgUBOVLK5CaUiUFKEkVW1/2sTlijARZzLtzwXfbkvzHEhCSu+E+OA1Futbh5HwNAC06bvqYDS+TXrFuZ0LcDaU92lk5Hp/ed8NhRXtm0gss1TS0vebOq+3kejErIvVCg9kNMrYMrmdf8G0+zKlCp3vrfdM37IeLXp3GoOckNzHh/LT7rLd7/9QcdSCPixPSwusrfCusw3H093cuWkV9WX4Go/zHTL9rAEwJPOn36OhyVc1oG113ZJiVg7KgsZGOCJJyh9BvlKq2vuKxnylQwq9Kh5e+BfP2FSWs7a1XMj/79JsZTxztJ9tFqcSXQh99vq1nd1AgMBAAECggEAVglIT5oxoxEcq0J7lBshf2Lg+Z/CR2clmKioYImfZm1DVYGlD/DvECA+kYnS4qV7GthBg+S0qi/V3d9mFgwcD6nj4YfVCets+Dyskz8d+p6iFxf820IhVWL+A4Rwta7wxDQrIGwx9+JJCKLYsmNsNUg1WSNdYqO71oHzXMnhVTmYJ6sKOrrBucyI4Ydu9UbfN+DRRGD9seL+Nxh1V2PPXs4ftk2kRlG18LaTPgFba1g8QBIpGDR9gFqM+DvBHUxAWsPRnL1+q0c6o5Ndk7W5f7Ob1zxF/lgqHudiG38jItkwc7MLMOYjbV5wiJPZc93nsHS1CKPSEX9/snNLnx2LQQKBgQDMyLBVVasfTMQpMjyi+Jof9JLHPiRP3dEHwZECUgfdWhPoidLjK9y1wszmCLrcg01842WufrpbJ1QXs+g8x6+DhLHvcKum1znsvQKWdy/2V6a2eahNHsYi1Qus+N0dFgotfZwfElfkIU/jAwh6OnYPCXQCVmdvoxzmdk81L04d5QKBgQC6HY6EZ8o4mo4CzDss2qxT2oKuiI0clnbDPC9LJzkRBVbHosx6AO+C3RyfREZxMzNhYW3XnozifDyRw6rlvI6toE3l9ku71dJS1aKZwbH/h0rdHXXqDHARYc9rdwCzOM2t2Kve/PgXxCDQdwY/m0deXM22oKdOlb7miz2YTGLaUQKBgEg8qucPNzPtUmztybH7W/LVxUj/RLPfnTLNNyfIY/nTIp6ur3NvL4X2V2z1u2S59IWPeXjaP0aUUvehgNSf4+vSzSmXZxWNamN2MQl+ta6CMM7Bj3rU1jPHTz0O9ICkG6b8Xiwfvl082v9LPJxRLwAS55dDf21D7pflN/+c1kN5AoGARaRHrt3TeojCuONJBUiyERKDseFgxCC9QeLkY3/Cx86yoTMWxlRRSyuHyUTYAwXApSC65GLsntcUJwsLiLmcvfVtEK6vuhKRh/Nuy5ACFfa/Gawrci/DQ43Q+opmFaoctH+OGHuaLfJywO64xNZKx1F8nGjTEgHQlB3oJ3P1zXECgYBW/GRUU+SevGeLjZTZ9WqG+ztseItnmEwmar9tGhR9TNv3vDiL5/fsAfI8ApMiIzDe6+QfS5Lxx5rD6V4Et/zBpsf8JzqP2eDiTe9UiHxDr2v5NIxelf404VZcdRh83u84lCJTa/ZYanFu94UW6h70MHhDWtiWddtFR3EXt5hD9w==";
+			String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhIxPBQL0OKBc6fcU/9PdVTMA7L2s314oU2w1q06ywQSDdhF3RY1Bo0Eqh4Zg8QpPirFeyAc4rhFjyKZRlngQXrybcAhUfswD86QQGodObe3aA9bbWdXiTt10Q5CBk5GImadNiEW6Adh+0bY5ezf1RbxIjbGDfH6x5gatZnpjPswiHMQnskZtg9JSfE2u8WEKuSaH8yhnkllHpIHWnWvFvXwNVNycXdmDrEe7gIB1yCouNK6/DZ7IQH2AajSuvbxmCqO0MzywEfgvLqE0GFVsKKmXvgJebRAnW9RmGhmrxvEIceXCjR3tbxM9gX8lioDlqKnBootTgAbjIJ5VrPvKPwIDAQAB";
+			AlipayConfig alipayConfig = new AlipayConfig();
+			alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
+			alipayConfig.setAppId("2021003125657245");
+			alipayConfig.setPrivateKey(privateKey);
+			alipayConfig.setFormat("json");
+			alipayConfig.setAlipayPublicKey(alipayPublicKey);
+			alipayConfig.setCharset("UTF8");
+			alipayConfig.setSignType("RSA2");
+			//设置应用公钥证书路径//appCertPublicKey_2021003125657245
+			alipayConfig.setAppCertPath(properties.getAppCertPath());
+			//设置支付宝公钥证书路径//alipayCertPublicKey_RSA2
+			alipayConfig.setAlipayPublicCertPath(properties.getAliPayCertPath());
+			//设置支付宝根证书路径
+			alipayConfig.setRootCertPath(properties.getAliPayRootCertPath());
+			AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
+			AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
+			model.setOutBizNo(CommonUtil.genTimeID());
+			model.setRemark("贵州中宏科技有限公司进货仓单收款");
+			model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
+			model.setBizScene("DIRECT_TRANSFER");
+			Participant payeeInfo = new Participant();
+			payeeInfo.setIdentity(identity);
+			payeeInfo.setIdentityType("ALIPAY_USER_ID");
+			payeeInfo.setName(name);
+			model.setPayeeInfo(payeeInfo);
+			model.setTransAmount(transAmount);
+			model.setProductCode("TRANS_ACCOUNT_NO_PWD");
+			model.setOrderTitle("进货仓单收款");
+			AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
+			request.setBizModel(model);
+			AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
+			if (!response.isSuccess()){
+				log.info("向用户【" + name +"】打款失败,打款账号:"  + identity);
+				logger.info("打款失败", ",打款人:" + name + "支付宝账号:" + identity);
+			}else{
+				log.info("向用户【" + name +"】打款成功,打款账号:"  + identity);
+				logger.info("打款成功", ",打款人:" + name + "支付宝账号:" + identity);
+			}
+		} catch (AlipayApiException e) {
+			e.printStackTrace();
+			String msg = "打款失败, ,打款人:" + name + "支付宝账号:" + identity;
+			logger.info(msg, e.getMessage());
+			logger.info("打款失败", ",打款人:" + name + "支付宝账号:" + identity);
+		}
+
+	}
+
 	/**
 	 * 用户仓单收款
 	 * 1、向用户打款

+ 2 - 3
src/main/java/org/springblade/modules/api/controller/Api05Controller.java

@@ -142,10 +142,9 @@ public class Api05Controller extends BladeController {
 		if (StringUtil.isEmpty(query.getAlipayUserId())) {
 			return R.fail("请绑定支付宝打款账号");
 		}
-		//todo 是否需要加
-		/*if (query.getTicket() < 100){
+		if (query.getTicket() < 100){
 			throw new ServiceException("您的绿色积分达不到要求!");
-		}*/
+		}
 		//判断用户授权
 		ConsignResponse response = orderService.consignGrant(query, request.getConsignConfigId(), request.getOrderNo());
 		if (response.getStatus() == 2){

+ 9 - 1
src/main/java/org/springblade/modules/api/controller/TestController.java

@@ -38,6 +38,7 @@ import org.springblade.core.sms.model.SmsCode;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.finance.service.IOrderService;
+import org.springblade.modules.platform.wrapper.UserAppWrapper;
 import org.springblade.modules.resource.utils.SmsUtil;
 import org.springblade.modules.shopping.service.IConsignService;
 import org.springblade.modules.system.entity.User;
@@ -213,7 +214,14 @@ public class TestController extends BladeController {
 		return R.data(scoreCount);
 	}
 
-
+	@PostMapping("/test015")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "测试015-积分", notes = "判断绿色积分")
+	public R test015(@RequestParam(required = false) Double ticket,
+					 @RequestParam(required = false) Double price) {
+		boolean flg = UserAppWrapper.build().isTicket(ticket, price);
+		return R.data(flg);
+	}
 
 
 	private SmsCode jheSms(String phone){

+ 8 - 0
src/main/java/org/springblade/modules/api/service/ITradeService.java

@@ -17,6 +17,7 @@
 package org.springblade.modules.api.service;
 
 import org.springblade.modules.finance.entity.OrderGrant;
+import org.springblade.modules.finance.entity.PlatformAuthorization;
 import org.springblade.modules.shopping.entity.Consign;
 import org.springblade.modules.system.entity.UserApp;
 
@@ -54,6 +55,13 @@ public interface ITradeService {
 	 */
 	void orderGrant(List<OrderGrant> list);
 
+	/**
+	 * 预授解冻
+	 * 1.查询用户已预约的预授订单 状态为1的数据
+	 * 2.用户解冻
+	 */
+	void platFormUnfreeze(List<PlatformAuthorization> list);
+
 	/**
 	 * 解冻用户预授权金额
 	 * @param authNo 授权号

+ 44 - 0
src/main/java/org/springblade/modules/api/service/impl/TradeServiceImpl.java

@@ -25,10 +25,12 @@ import org.springblade.modules.api.controller.AliPay01Controller;
 import org.springblade.modules.api.service.ITradeService;
 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.pay.entity.AlipayProperties;
 import org.springblade.modules.finance.service.IOrderConsignService;
 import org.springblade.modules.finance.service.IOrderGrantService;
 import org.springblade.modules.finance.service.IOrderService;
+import org.springblade.modules.finance.service.IPlatformAuthorizationService;
 import org.springblade.modules.shopping.entity.Consign;
 import org.springblade.modules.shopping.service.IConsignService;
 import org.springblade.modules.system.entity.User;
@@ -58,6 +60,9 @@ public class TradeServiceImpl implements ITradeService {
 	@Autowired
 	private IOrderGrantService orderGrantService;
 
+	@Autowired
+	private IPlatformAuthorizationService platformAuthorizationService;
+
 	@Autowired
 	private IUserService userService;
 
@@ -218,6 +223,45 @@ public class TradeServiceImpl implements ITradeService {
 		}
 	}
 
+	@Override
+	public void platFormUnfreeze(List<PlatformAuthorization> list) {
+		for (PlatformAuthorization platformAuthorization: list) {
+			PlatformAuthorization param = new PlatformAuthorization();
+			try {
+				param.setId(platformAuthorization.getId());
+				String authNo = platformAuthorization.getAuthNo();
+				logger.info("解冻资金:", authNo);
+				String amount = NumberUtil.mul(platformAuthorization.getTotalNum(), platformAuthorization.getAuthPrice()).toString();
+				AlipayFundAuthOrderUnfreezeRequest request = new AlipayFundAuthOrderUnfreezeRequest();
+				JSONObject bizContent = new JSONObject();
+				bizContent.put("auth_no", authNo);
+				bizContent.put("out_request_no","outRequestNo123");
+				bizContent.put("amount", amount);
+				bizContent.put("remark","解冻资金");
+				JSONObject extraParam = new JSONObject();
+				JSONObject unfreezeBizInfo = new JSONObject();
+				unfreezeBizInfo.put("bizComplete",true);
+				extraParam.put("unfreezeBizInfo",unfreezeBizInfo);
+				bizContent.put("extra_param",extraParam);
+				// 设置整体请求参数
+				request.setBizContent(bizContent.toString());
+				// 使用execute方法发起请求
+				AlipayFundAuthOrderUnfreezeResponse response = client.certificateExecute(request);;
+				if(response.isSuccess()){
+					param.setState(2);//解冻
+					logger.info("解冻资金成功", response.getBody());
+				}else{
+					param.setState(3);//解冻失败
+					logger.info("解冻资金失败:", authNo);
+				}
+				param.setEndTime(DateUtil.now());
+				platformAuthorizationService.updateById(param);
+			} catch (AlipayApiException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
 	public boolean payUnfreeze(String authNo, Double amount){
 		try{
 			AlipayFundAuthOrderUnfreezeRequest request = new AlipayFundAuthOrderUnfreezeRequest();

+ 4 - 2
src/main/java/org/springblade/modules/api/task/ConsignSchedulingTask.java

@@ -24,7 +24,6 @@ import org.springframework.scheduling.config.ScheduledTaskRegistrar;
 import org.springframework.scheduling.support.CronTrigger;
 import org.springframework.stereotype.Component;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
@@ -80,7 +79,10 @@ public class ConsignSchedulingTask implements SchedulingConfigurer {
 				}
 				log.info(TASK_NAME + "定时时间间隔: " + taskTime);
 				String cron = "0 0/" + taskTime + " * * * ?";
-				//String cron = "0 0/1 * * * ?";
+				//23:20:00执行
+				//String cron = "0 20 23 * * ?";
+				//00:10:00执行
+				//String cron = "0 10 00 * * ?";
 				CronTrigger trigger = new CronTrigger(cron);
 				return trigger.nextExecutionTime(triggerContext);
 			}

+ 1 - 1
src/main/java/org/springblade/modules/api/task/GrantSchedulingTask.java

@@ -61,13 +61,13 @@ public class GrantSchedulingTask implements SchedulingConfigurer {
 				//cron = timerQueryMapper.getCronTime();
 				//0/5 * * * * ?
 				//0 0 1 * * ?
+				//String cron = "0 0/5 * * * ?";
 				int taskTime = Integer.parseInt(ParamCache.getValue(CommonConstant.TASK_GRANT_TIME));//分钟
 				if(StringUtil.isEmpty(taskTime)){
 					taskTime = 10;
 				}
 				log.info(TASK_NAME + "定时时间间隔: " + taskTime);
 				String cron = "0 0/" + taskTime + " * * * ?";
-				//String cron = "0 0/5 * * * ?";
 				CronTrigger trigger = new CronTrigger(cron);
 				return trigger.nextExecutionTime(triggerContext);
 			}

+ 83 - 0
src/main/java/org/springblade/modules/api/task/PlatAuthSchedulingTask.java

@@ -0,0 +1,83 @@
+package org.springblade.modules.api.task;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springblade.common.cache.ParamCache;
+import org.springblade.common.constant.CommonConstant;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.modules.api.service.ITradeService;
+import org.springblade.modules.finance.entity.OrderGrant;
+import org.springblade.modules.finance.service.IOrderGrantService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.Trigger;
+import org.springframework.scheduling.TriggerContext;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+import org.springframework.scheduling.support.CronTrigger;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+import static org.springblade.modules.api.task.ConsignSchedulingTask.isStartTask;
+
+//@Component
+public class PlatAuthSchedulingTask implements SchedulingConfigurer {
+
+	private static final Logger log = LoggerFactory.getLogger(PlatAuthSchedulingTask.class);
+
+	private static final String PATTERN_DATE = org.springblade.core.tool.utils.DateUtil.PATTERN_DATE;
+
+	private static final String TASK_NAME = "【解冻特殊账号】";
+	@Autowired
+	private IOrderGrantService orderGrantService;
+
+	@Autowired
+	private ITradeService tradeService;
+
+	@Override
+	public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+		if(!isStartTask){
+			return;
+		}
+
+		Runnable task = new Runnable() {
+			@Override
+			public void run() {
+				log.info(TASK_NAME + "定时任务开始: " + LocalDateTime.now());
+				log.info(TASK_NAME + "定时任务结束: " + LocalDateTime.now());
+			}
+		};
+
+		Trigger trigger = new Trigger() {
+			@Override
+			public Date nextExecutionTime(TriggerContext triggerContext) {
+				//任务触发,可修改任务的执行周期.
+				//每一次任务触发,都会执行这里的方法一次,重新获取下一次的执行时间
+				//cron = timerQueryMapper.getCronTime();
+				//0/5 * * * * ?
+				//0 0 1 * * ?
+				int taskTime = Integer.parseInt(ParamCache.getValue(CommonConstant.TASK_GRANT_TIME));//分钟
+				if(StringUtil.isEmpty(taskTime)){
+					taskTime = 10;
+				}
+				log.info(TASK_NAME + "定时时间间隔: " + taskTime);
+				String cron = "0 0/" + taskTime + " * * * ?";
+				//String cron = "0 0/5 * * * ?";
+				CronTrigger trigger = new CronTrigger(cron);
+				return trigger.nextExecutionTime(triggerContext);
+			}
+		};
+		taskRegistrar.addTriggerTask(task, trigger);
+	}
+
+	/**
+	 * 平台授权解冻
+	 */
+	private void platFormUnfreeze(){
+
+	}
+}

+ 18 - 0
src/main/java/org/springblade/modules/platform/wrapper/UserAppWrapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.platform.wrapper;
 
+import cn.hutool.core.util.NumberUtil;
 import org.springblade.common.cache.DictBizCache;
 import org.springblade.common.cache.DictCache;
 import org.springblade.common.enums.DictBizEnum;
@@ -82,4 +83,21 @@ public class UserAppWrapper extends BaseEntityWrapper<UserApp, UserAppVO> {
 		return userApp.updateById();
 	}
 
+	/**
+	 * 判断绿色积分
+	 * @param ticket 绿色积分数
+	 * @param price 金额
+	 * @return  boolean
+	 */
+	public boolean isTicket(Double ticket, Double price){
+		if (ticket < 100){
+			return false;
+		}
+		double d = NumberUtil.mul(price, Double.valueOf("0.03"));
+		if (ticket < d){
+			return false;
+		}
+		return true;
+	}
+
 }

+ 22 - 0
src/main/java/org/springblade/modules/shopping/controller/ConsignConfigController.java

@@ -90,6 +90,28 @@ public class ConsignConfigController extends BladeController {
 		return R.data(consignConfigService.list(Condition.getQueryWrapper(consignConfig)));
 	}
 
+	@GetMapping("/getList")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入consignConfig")
+	public R<IPage<ConsignConfigVO>> getList(ConsignConfig consignConfig, Query query) {
+		consignConfig.setIsEnabled(1);
+		IPage<ConsignConfig> pages = consignConfigService.page(Condition.getPage(query),
+			Condition.getQueryWrapper(consignConfig)
+				.orderByDesc("start_time"));
+		return R.data(ConsignConfigWrapper.build().pageVO(pages));
+	}
+
+	@GetMapping("/payList")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "支付批次", notes = "传入consignConfig")
+	public R<IPage<ConsignConfigVO>> payList(ConsignConfig consignConfig, Query query) {
+		IPage<ConsignConfig> pages = consignConfigService.page(Condition.getPage(query),
+			Condition.getQueryWrapper(consignConfig)
+				.eq("is_enabled","1")
+				.last("start_time"));
+		return R.data(ConsignConfigWrapper.build().pageVO(pages));
+	}
+
 	/**
 	 * 自定义分页 寄售配置表
 	 */

+ 16 - 0
src/main/java/org/springblade/modules/shopping/controller/ConsignController.java

@@ -92,6 +92,22 @@ public class ConsignController extends BladeController {
 		return R.data(ConsignWrapper.build().pageVO(pages));
 	}
 
+	/**
+	 * 分页 查询平台兜底的寄售订单
+	 */
+	@GetMapping("/platform_list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入consign")
+	public R<IPage<ConsignVO>> platformList(Consign consign, Query query) {
+		consign.setConsignState(2); //待付款
+		consign.setConsignFor(2); //用户订单
+		IPage<Consign> pages = consignService.page(Condition.getPage(query),
+			Condition.getQueryWrapper(consign)
+				.eq("now_stock", 0)
+				.orderByDesc("create_time"));
+		return R.data(ConsignWrapper.build().pageVO(pages));
+	}
+
 	/**
 	 * 自定义分页 商品寄售表
 	 */

+ 3 - 0
src/main/java/org/springblade/modules/shopping/vo/ConsignVO.java

@@ -50,6 +50,9 @@ public class ConsignVO extends Consign {
 	@ApiModelProperty(value = "所有者")
 	private String consignUserIdDisplayName;
 
+	@ApiModelProperty(value = "所有者")
+	private String consignConfigDisplayName;
+
 	@ApiModelProperty(value = "是否交割")
 	private String isDeliveryDisplayName;
 

+ 10 - 0
src/main/java/org/springblade/modules/shopping/wrapper/ConsignWrapper.java

@@ -17,6 +17,7 @@
 package org.springblade.modules.shopping.wrapper;
 
 import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.common.cache.DictBizCache;
 import org.springblade.common.cache.DictCache;
@@ -33,6 +34,7 @@ import org.springblade.modules.shopping.entity.Consign;
 import org.springblade.modules.shopping.entity.ConsignConfig;
 import org.springblade.modules.shopping.entity.Goods;
 import org.springblade.modules.shopping.entity.GoodsAttributes;
+import org.springblade.modules.shopping.service.IConsignConfigService;
 import org.springblade.modules.shopping.service.IGoodsAttributesService;
 import org.springblade.modules.shopping.service.IGoodsService;
 import org.springblade.modules.shopping.vo.ConsignConfigVO;
@@ -57,11 +59,13 @@ public class ConsignWrapper extends BaseEntityWrapper<Consign, ConsignVO> {
 	public static IGoodsService goodsService;
 	public static IUserService userService;
 	public static IGoodsAttributesService goodsAttributesService;
+	public static IConsignConfigService consignConfigService;
 
 	static {
 		goodsService = SpringUtil.getBean(IGoodsService.class);
 		userService = SpringUtil.getBean(IUserService.class);
 		goodsAttributesService =  SpringUtil.getBean(IGoodsAttributesService.class);
+		consignConfigService = SpringUtil.getBean(IConsignConfigService.class);
 	}
 
 	@Override
@@ -87,6 +91,12 @@ public class ConsignWrapper extends BaseEntityWrapper<Consign, ConsignVO> {
 		if(user != null){
 			vo.setConsignUserIdDisplayName(user.getName());
 		}
+		if (ObjectUtil.isNotNull(vo.getConsignConfigId())){
+			ConsignConfig consignConfig = consignConfigService.getById(vo.getConsignConfigId());
+			if (ObjectUtil.isNotNull(consignConfig)){
+				vo.setConsignConfigDisplayName(consignConfig.getTitle());
+			}
+		}
 		return vo;
 	}