|
@@ -11,6 +11,8 @@ import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.net.URLDecoder;
|
|
@@ -66,6 +68,9 @@ import com.fs.store.enums.*;
|
|
|
import com.fs.store.mapper.*;
|
|
|
import com.fs.store.param.*;
|
|
|
import com.fs.store.service.*;
|
|
|
+import com.fs.store.service.handler.PaymentHandler;
|
|
|
+import com.fs.store.service.handler.PaymentHandlerHolder;
|
|
|
+import com.fs.store.service.handler.param.PayProcessContext;
|
|
|
import com.fs.store.vo.*;
|
|
|
import com.fs.pay.service.IPayService;
|
|
|
import com.fs.pay.service.dto.RefundDTO;
|
|
@@ -73,8 +78,12 @@ import com.fs.system.domain.SysConfig;
|
|
|
import com.fs.system.service.ISysConfigService;
|
|
|
import com.fs.tzBank.TzBankService;
|
|
|
import com.fs.tzBank.utils.TzConfigUtils;
|
|
|
+import com.fs.wx.miniapp.config.WxMaConfiguration;
|
|
|
+import com.fs.wx.miniapp.config.WxMaProperties;
|
|
|
+import com.fs.wx.pay.config.WxPayProperties;
|
|
|
import com.hc.openapi.tool.util.Ids;
|
|
|
import lombok.Synchronized;
|
|
|
+import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -209,7 +218,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
private IFsStoreProductCacheServiceImpl fsStoreProductCacheService;
|
|
|
@Autowired
|
|
|
private FsStorePaymentMapper fsStorePaymentMapper;
|
|
|
+ @Autowired
|
|
|
+ private WxPayProperties wxPayProperties;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private WxMaProperties properties;
|
|
|
/**
|
|
|
* 查询订单
|
|
|
*
|
|
@@ -229,7 +242,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
if(order==null){
|
|
|
return R.error("订单不存在");
|
|
|
}
|
|
|
- if(order.getStatus()!= OrderInfoEnum.STATUS_0.getValue()){
|
|
|
+ if(!Objects.equals(order.getStatus(), OrderInfoEnum.STATUS_0.getValue())){
|
|
|
return R.error("订单状态不正确");
|
|
|
}
|
|
|
String orderId=redisCache.getCacheObject("isPaying:"+order.getId());
|
|
@@ -268,7 +281,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
}
|
|
|
String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
|
|
|
|
|
|
- // 台州银行支付
|
|
|
if(order.getPayType().equals("1")||order.getPayType().equals("2")){
|
|
|
String json = configService.selectConfigByKey("store.pay");
|
|
|
FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
|
|
@@ -288,112 +300,24 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
storePayment.setBusinessOrderId(order.getId().toString());
|
|
|
storePayment.setOrderId(order.getId());
|
|
|
fsStorePaymentMapper.insertFsStorePayment(storePayment);
|
|
|
- if (fsPayConfig.getType().equals("hf")){
|
|
|
- HuiFuCreateOrder o = new HuiFuCreateOrder();
|
|
|
- o.setTradeType("T_MINIAPP");
|
|
|
- o.setOpenid(user.getMaOpenId());
|
|
|
- o.setReqSeqId("store-"+ storePayment.getPayCode());
|
|
|
- o.setTransAmt(storePayment.getPayMoney().toString());
|
|
|
- o.setGoodsDesc("商城订单支付");
|
|
|
- HuifuCreateOrderResult result = huiFuService.createOrder(o);
|
|
|
- //创建订单
|
|
|
- if(result.getResp_code()!=null&&(result.getResp_code().equals("00000000")||result.getResp_code().equals("00000100"))){
|
|
|
- FsStorePayment mt=new FsStorePayment();
|
|
|
- mt.setPaymentId(storePayment.getPaymentId());
|
|
|
- mt.setTradeNo(result.getHf_seq_id());
|
|
|
- fsStorePaymentMapper.updateFsStorePayment(mt);
|
|
|
- redisCache.setCacheObject("isPaying:"+ order.getId(), order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
- return R.ok().put("payType", param.getPayType()).put("result", result.getPay_info());
|
|
|
- }
|
|
|
- else{
|
|
|
- return R.error(result.getResp_desc());
|
|
|
- }
|
|
|
- } else if(fsPayConfig.getType().equals("tzbk")){
|
|
|
- TzConfigInfoDTO tzConfigInfoDTO = JSON.parseObject(json, TzConfigInfoDTO.class);
|
|
|
-
|
|
|
- TzPayCreateOrderReqBodyDTO reqBodyDTO = new TzPayCreateOrderReqBodyDTO();
|
|
|
- RequestDTO<TzPayCreateOrderReqBodyDTO> requestDTO = new RequestDTO<>();
|
|
|
- reqBodyDTO.setOrderNo(payCode);
|
|
|
- reqBodyDTO.setOrderSource("02");
|
|
|
- reqBodyDTO.setTrxAmt(storePayment.getPayMoney());
|
|
|
- reqBodyDTO.setCurrency("CNY");
|
|
|
- reqBodyDTO.setTransType("2001");
|
|
|
- reqBodyDTO.setTradeMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
|
|
|
- reqBodyDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
|
|
|
- reqBodyDTO.setBusinessCstNo(user.getUserId().toString());
|
|
|
- reqBodyDTO.setPayNotifyUrl(tzConfigInfoDTO.getPayNotifyUrl());
|
|
|
- reqBodyDTO.setPayerName(user.getUsername());
|
|
|
- reqBodyDTO.setPayerMobileNo(user.getPhone());
|
|
|
- reqBodyDTO.setGoodsInfo("商城订单支付");
|
|
|
- // 不需要分账
|
|
|
- reqBodyDTO.setNeedLedger("00");
|
|
|
- reqBodyDTO.setClientIp(IPUtils.getIpAddr(ServletUtils.getRequest()));
|
|
|
- // 获取订单到期时间
|
|
|
- String redisKey = String.valueOf(StrUtil.format("{}{}",
|
|
|
- StoreConstants.REDIS_ORDER_OUTTIME_UNPAY, order.getId()));
|
|
|
- Long expire = redisCache.getExpire(redisKey);
|
|
|
- Long currentTimeMillis = System.currentTimeMillis();
|
|
|
-
|
|
|
- reqBodyDTO.setExpiredTime(String.valueOf(currentTimeMillis+expire));
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- requestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
|
|
|
- requestDTO.setReqBody(reqBodyDTO);
|
|
|
- try {
|
|
|
- // 创建订单
|
|
|
- TzReqResultDTO<TzPayCreateOrderRspDTO> payCreateOrder = tzBankService.payCreateOrder(requestDTO);
|
|
|
- // 获得小程序请求码
|
|
|
- if("00000000".equals(payCreateOrder.getRetCode())){
|
|
|
- TzPayCreateOrderRspDTO body = payCreateOrder.getBody();
|
|
|
-
|
|
|
- RequestDTO<TzMiniProgramCodeReqDTO> reqDTORequestDTO = new RequestDTO<>();
|
|
|
- TzMiniProgramCodeReqDTO tzMiniProgramCodeReqDTO = new TzMiniProgramCodeReqDTO();
|
|
|
- tzMiniProgramCodeReqDTO.setOrderNo(body.getOrderFlowNo());
|
|
|
- tzMiniProgramCodeReqDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
|
|
|
- tzMiniProgramCodeReqDTO.setBusinessCstNo(user.getUserId().toString());
|
|
|
- reqDTORequestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
|
|
|
- reqDTORequestDTO.setReqBody(tzMiniProgramCodeReqDTO);
|
|
|
- TzReqResultDTO<TzMiniProgramCodeRespDTO> miniProgramCode = tzBankService.miniProgramCode(reqDTORequestDTO);
|
|
|
- if("00000000".equals(miniProgramCode.getRetCode())){
|
|
|
- FsStorePayment mt=new FsStorePayment();
|
|
|
- mt.setPaymentId(storePayment.getPaymentId());
|
|
|
- mt.setTradeNo(miniProgramCode.getBody().getOrderNo());
|
|
|
- fsStorePaymentMapper.updateFsStorePayment(mt);
|
|
|
- redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
- TzMiniProgramCodeRespDTO result = miniProgramCode.getBody();
|
|
|
- result.setPayCode(payCode);
|
|
|
- return R.ok().put("payType",param.getPayType()).put("result",result);
|
|
|
- } else {
|
|
|
- return R.error(miniProgramCode.getRetMsg());
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- logger.error("系统异常",e);
|
|
|
- return R.error("系统异常,请联系管理员!");
|
|
|
- }
|
|
|
- } else if (fsPayConfig.getType().equals("yb")){
|
|
|
- WxJspayDTO p = new WxJspayDTO();
|
|
|
- p.setPayMoney(order.getPayMoney().toString());
|
|
|
- p.setLowOrderId("store-"+payCode);
|
|
|
- p.setBody("商城订单支付");
|
|
|
- p.setIsMinipg("1");
|
|
|
- p.setReturnUrl(fsPayConfig.getYbNotifyUrl());
|
|
|
- p.setOpenId(user.getMaOpenId());
|
|
|
- p.setAttach("");
|
|
|
- p.setStoreid("0");
|
|
|
- CreateWxOrderResult wxOrder = ybPayService.createWxOrder(p);
|
|
|
- if(wxOrder.getStatus().equals("100")){
|
|
|
- FsStorePayment ment=new FsStorePayment();
|
|
|
- ment.setPaymentId(storePayment.getPaymentId());
|
|
|
- ment.setTradeNo(wxOrder.getUpOrderId());
|
|
|
- fsStorePaymentMapper.updateFsStorePayment(ment);
|
|
|
- redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
- return R.ok().put("payType",param.getPayType()).put("result",wxOrder.getPay_info());
|
|
|
- }
|
|
|
- else{
|
|
|
- return R.error(wxOrder.getMessage());
|
|
|
- }
|
|
|
+
|
|
|
+ PayProcessContext processContext = new PayProcessContext();
|
|
|
+ processContext.setOrderId(param.getOrderId());
|
|
|
+ processContext.setPayType(param.getPayType());
|
|
|
+ processContext.setPaymentId(storePayment.getPaymentId());
|
|
|
+ processContext.setPayCode(payCode);
|
|
|
+ processContext.setFsPayConfig(fsPayConfig);
|
|
|
+ processContext.setUserId(order.getUserId());
|
|
|
+ processContext.setGoodsInfo("商城订单支付");
|
|
|
+ processContext.setOrderPrefix("store-");
|
|
|
+ PaymentHandler payment = PaymentHandlerHolder.findBest(fsPayConfig.getType());
|
|
|
+ if(ObjectUtil.isNull(payment)){
|
|
|
+ throw new CustomException("支付方式不存在");
|
|
|
+ }
|
|
|
+ R process = payment.process(processContext);
|
|
|
+ if("200".equals(String.valueOf(process.get("code")))){
|
|
|
+ redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
+ return process;
|
|
|
}
|
|
|
}
|
|
|
else if(order.getPayType().equals("3")){
|
|
@@ -2988,4 +2912,196 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
return ExpressResultDTO.success(sysConfig.getKdnId().trim());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
|
|
|
+ public R otherPayment(FsStoreOrderOtherPayParam param) {
|
|
|
+
|
|
|
+ final WxMaService wxService = WxMaConfiguration.getMaService(properties.getConfigs().get(0).getAppid());
|
|
|
+ try {
|
|
|
+ String ip = IpUtil.getRequestIp();
|
|
|
+ WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
|
|
|
+ FsUser user=userService.selectFsUserByMaOpenId(session.getOpenid());
|
|
|
+ if(user==null){
|
|
|
+ //创建
|
|
|
+ user=new FsUser();
|
|
|
+ user.setUsername("");
|
|
|
+ user.setNickname("微信用户");
|
|
|
+ user.setStatus(1);
|
|
|
+ user.setMaOpenId(session.getOpenid());
|
|
|
+ user.setUnionId(session.getUnionid());
|
|
|
+ user.setIsWeixinAuth(0);
|
|
|
+ user.setLastIp(ip);
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ userService.insertFsUser(user);
|
|
|
+ }
|
|
|
+ FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
|
|
|
+ if(order==null){
|
|
|
+ return R.error("订单不存在");
|
|
|
+ }
|
|
|
+ if(order.getStatus()!= OrderInfoEnum.STATUS_0.getValue()){
|
|
|
+ return R.error("此订单不能支付");
|
|
|
+ }
|
|
|
+ if(order.getPayMoney().compareTo(new BigDecimal(0))<1){
|
|
|
+ return R.error("此订单没有可支付的金额");
|
|
|
+ }
|
|
|
+
|
|
|
+ String orderId=redisCache.getCacheObject("isPaying:"+order.getId());
|
|
|
+ if(StringUtils.isNotEmpty(orderId)&&orderId.equals(order.getId().toString())){
|
|
|
+ return R.error("正在支付中...");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
|
|
|
+ String json = configService.selectConfigByKey("store.pay");
|
|
|
+ FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
|
|
|
+ FsStorePayment storePayment=new FsStorePayment();
|
|
|
+ storePayment.setCompanyId(order.getCompanyId());
|
|
|
+ storePayment.setCompanyUserId(order.getCompanyUserId());
|
|
|
+ storePayment.setStatus(0);
|
|
|
+ storePayment.setPayMode(fsPayConfig.getType());
|
|
|
+ storePayment.setPayCode(payCode);
|
|
|
+ storePayment.setPayMoney(order.getPayMoney());
|
|
|
+ storePayment.setCreateTime(new Date());
|
|
|
+ storePayment.setPayTypeCode("weixin");
|
|
|
+ storePayment.setBusinessType(2);
|
|
|
+ storePayment.setRemark("商城订单支付");
|
|
|
+ storePayment.setOpenId(session.getOpenid());
|
|
|
+ storePayment.setUserId(user.getUserId());
|
|
|
+ storePayment.setBusinessOrderId(order.getId().toString());
|
|
|
+ storePayment.setOrderId(order.getId());
|
|
|
+ fsStorePaymentMapper.insertFsStorePayment(storePayment);
|
|
|
+ PaymentHandler payment = PaymentHandlerHolder.findBest(fsPayConfig.getType());
|
|
|
+ if(ObjectUtil.isNull(payment)){
|
|
|
+ throw new CustomException("支付方式不存在");
|
|
|
+ }
|
|
|
+ PayProcessContext processContext = new PayProcessContext();
|
|
|
+ processContext.setOrderId(param.getOrderId());
|
|
|
+ processContext.setPayType(null);
|
|
|
+ processContext.setPaymentId(storePayment.getPaymentId());
|
|
|
+ processContext.setPayCode(payCode);
|
|
|
+ processContext.setFsPayConfig(fsPayConfig);
|
|
|
+ processContext.setUserId(order.getUserId());
|
|
|
+ processContext.setGoodsInfo("商城订单支付");
|
|
|
+ processContext.setOrderPrefix("store-");
|
|
|
+
|
|
|
+ R process = payment.process(processContext);
|
|
|
+ if("200".equals(String.valueOf(process.get("code")))){
|
|
|
+ redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
+ return process;
|
|
|
+ }
|
|
|
+ } catch (WxErrorException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return R.error(e.getMessage());
|
|
|
+ }
|
|
|
+ return R.error("无支付类型");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R otherPaymentRemain(FsStoreOrderOtherPayParam param) {
|
|
|
+ final WxMaService wxService = WxMaConfiguration.getMaService(properties.getConfigs().get(0).getAppid());
|
|
|
+ try {
|
|
|
+ String ip = IpUtil.getRequestIp();
|
|
|
+ WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
|
|
|
+ FsUser user=userService.selectFsUserByMaOpenId(session.getOpenid());
|
|
|
+ if(user==null){
|
|
|
+ //创建
|
|
|
+ user=new FsUser();
|
|
|
+ user.setUsername("");
|
|
|
+ user.setNickname("微信用户");
|
|
|
+ user.setStatus(1);
|
|
|
+ user.setMaOpenId(session.getOpenid());
|
|
|
+ user.setUnionId(session.getUnionid());
|
|
|
+ user.setIsWeixinAuth(0);
|
|
|
+ user.setLastIp(ip);
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ userService.insertFsUser(user);
|
|
|
+ }
|
|
|
+ FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
|
|
|
+ if(order==null){
|
|
|
+ return R.error("订单不存在");
|
|
|
+ }
|
|
|
+ if(order.getStatus()!= OrderInfoEnum.STATUS_2.getValue()){
|
|
|
+ return R.error("待收货订单可申请支付尾款");
|
|
|
+ }
|
|
|
+ if(order.getPayType().equals(1)){
|
|
|
+ return R.error("此订单已支付");
|
|
|
+ }
|
|
|
+ //只有顺风才可以付尾
|
|
|
+ if(!order.getDeliverySn().trim().equals("SF")){
|
|
|
+ return R.error("只有顺丰物流支持尾款支付");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!order.getIsPayRemain().equals(0)){
|
|
|
+ return R.error("此订单已支付");
|
|
|
+ }
|
|
|
+ String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
|
|
|
+ //易宝支付
|
|
|
+ String json = configService.selectConfigByKey("store.pay");
|
|
|
+ FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
|
|
|
+ FsStorePayment storePayment=new FsStorePayment();
|
|
|
+ storePayment.setCompanyId(order.getCompanyId());
|
|
|
+ storePayment.setCompanyUserId(order.getCompanyUserId());
|
|
|
+ storePayment.setStatus(0);
|
|
|
+ storePayment.setPayCode(payCode);
|
|
|
+ storePayment.setPayMoney(order.getPayDelivery());
|
|
|
+ storePayment.setCreateTime(new Date());
|
|
|
+ storePayment.setPayTypeCode("weixin");
|
|
|
+ storePayment.setBusinessType(2);
|
|
|
+ storePayment.setRemark("商城订单尾款支付");
|
|
|
+ storePayment.setOpenId(user.getRealName());
|
|
|
+ storePayment.setUserId(user.getUserId());
|
|
|
+ storePayment.setBusinessOrderId(order.getId().toString());
|
|
|
+ storePayment.setOrderId(order.getId());
|
|
|
+ storePayment.setIsPayRemain(1);
|
|
|
+ storePayment.setPayMode(fsPayConfig.getType());
|
|
|
+ fsStorePaymentMapper.insertFsStorePayment(storePayment);
|
|
|
+ if (fsPayConfig.getType().equals("hf")){
|
|
|
+ HuiFuCreateOrder o = new HuiFuCreateOrder();
|
|
|
+ o.setTradeType("T_MINIAPP");
|
|
|
+ o.setOpenid(user.getMaOpenId());
|
|
|
+ o.setReqSeqId("store_remain-"+storePayment.getPayCode());
|
|
|
+ o.setTransAmt(storePayment.getPayMoney().toString());
|
|
|
+ o.setGoodsDesc("支付订单尾款");
|
|
|
+ HuifuCreateOrderResult result = huiFuService.createOrder(o);
|
|
|
+ if(result.getResp_code()!=null&&(result.getResp_code().equals("00000000")||result.getResp_code().equals("00000100"))){
|
|
|
+ FsStorePayment mt=new FsStorePayment();
|
|
|
+ mt.setPaymentId(storePayment.getPaymentId());
|
|
|
+ mt.setTradeNo(result.getHf_seq_id());
|
|
|
+ fsStorePaymentMapper.updateFsStorePayment(mt);
|
|
|
+ redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
|
|
|
+ return R.ok().put("result",result.getPay_info());
|
|
|
+ }else{
|
|
|
+ return R.error(result.getResp_desc());
|
|
|
+ }
|
|
|
+ }else if (fsPayConfig.getType().equals("yb")){
|
|
|
+ WxJspayDTO p = new WxJspayDTO();
|
|
|
+ // 使用setter方法为对象赋值
|
|
|
+ p.setPayMoney(order.getPayDelivery().toString());
|
|
|
+ p.setLowOrderId("store_remain-"+payCode);
|
|
|
+ p.setBody("支付订单尾款");
|
|
|
+ p.setIsMinipg("1");
|
|
|
+ p.setReturnUrl(fsPayConfig.getYbNotifyUrl());
|
|
|
+ p.setOpenId(user.getMaOpenId());
|
|
|
+ p.setAttach("");
|
|
|
+ p.setStoreid("0");
|
|
|
+ CreateWxOrderResult wxOrder = ybPayService.createWxOrder(p);
|
|
|
+ if(wxOrder.getStatus().equals("100")){
|
|
|
+ FsStorePayment ment=new FsStorePayment();
|
|
|
+ ment.setPaymentId(storePayment.getPaymentId());
|
|
|
+ ment.setTradeNo(wxOrder.getUpOrderId());
|
|
|
+ fsStorePaymentMapper.updateFsStorePayment(ment);
|
|
|
+ return R.ok().put("result",wxOrder.getPay_info());
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ return R.error(wxOrder.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (WxErrorException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return R.error(e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.error("无支付类型");
|
|
|
+ }
|
|
|
+
|
|
|
}
|