update 白名单支付

This commit is contained in:
2023-03-29 15:09:51 +08:00
parent 8eafe47596
commit c65583b1a0
5 changed files with 110 additions and 3 deletions

View File

@@ -11,9 +11,11 @@ import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.response.RestApiResponse;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.dto.GetPayModeDTO;
import com.jsowell.pile.dto.PayOrderDTO;
import com.jsowell.pile.dto.PaymentScenarioDTO;
import com.jsowell.pile.dto.WeixinPayDTO;
import com.jsowell.pile.vo.uniapp.PayModeVO;
import com.jsowell.service.MemberService;
import com.jsowell.service.OrderService;
import com.jsowell.wxpay.dto.WeChatRefundDTO;
@@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
@@ -82,7 +85,7 @@ public class PayController extends BaseController {
}
/**
* 支付订单
* 7002 支付订单
* http://localhost:8080/uniapp/pay/payOrder
*
* @param request
@@ -131,6 +134,27 @@ public class PayController extends BaseController {
return response;
}
/**
* 7003 获取支付方式
* http://localhost:8080/uniapp/pay/getPayMode
*/
@PostMapping("/getPayMode")
public RestApiResponse<?> getPayMode(HttpServletRequest request, @RequestBody GetPayModeDTO dto) {
RestApiResponse<?> response;
try {
// dto.setMemberId(getMemberIdByAuthorization(request));
List<PayModeVO> list = orderService.getPayMode(dto);
response = new RestApiResponse<>(ImmutableMap.of("list", list));
} catch (BusinessException e) {
logger.warn("获取支付方式 warn param:{}", dto.toString(), e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("获取支付方式 error param:{}", dto.toString(), e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_PAY_MODE);
}
return response;
}
/**
* 微信支付回调接口
* http://localhost:8080/uniapp/pay/callback

View File

@@ -33,6 +33,7 @@ import com.jsowell.pile.domain.OrderPayRecord;
import com.jsowell.pile.domain.WxpayCallbackRecord;
import com.jsowell.pile.dto.BasicPileDTO;
import com.jsowell.pile.dto.GenerateOrderDTO;
import com.jsowell.pile.dto.GetPayModeDTO;
import com.jsowell.pile.dto.ManualSettlementDTO;
import com.jsowell.pile.dto.PayOrderDTO;
import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO;
@@ -56,6 +57,7 @@ import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.base.PileInfoVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.OrderVO;
import com.jsowell.pile.vo.uniapp.PayModeVO;
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
import com.jsowell.pile.vo.uniapp.UniAppOrderVO;
import com.jsowell.pile.vo.web.BillingTemplateVO;
@@ -875,4 +877,38 @@ public class OrderService {
log.info("人工结算订单-end orderCode:{}", dto.getOrderCode());
return true;
}
/**
* 当前登录会员 获取支付方式
* @param dto
*/
public List<PayModeVO> getPayMode(GetPayModeDTO dto) {
List<PayModeVO> result = Lists.newArrayList();
// 查询会员在站点是否是白名单用户
boolean flag = false;
if (flag) {
result.add(
PayModeVO.builder()
.payModeCode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue())
.payModeName(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getLabel())
.build()
);
} else {
// 微信支付
result.add(
PayModeVO.builder()
.payModeCode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.payModeName(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getLabel())
.build()
);
// 余额支付
result.add(
PayModeVO.builder()
.payModeCode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())
.payModeName(OrderPayModeEnum.PAYMENT_OF_BALANCE.getLabel())
.build()
);
}
return result;
}
}

View File

@@ -52,8 +52,6 @@ public enum ReturnCodeEnum {
CODE_GET_MOBILE_NUMBER_BY_CODE_ERROR("00100024", "获取微信登录手机号失败"),
CODE_GET_MERCHANT_ID_BY_APP_ID_ERROR("00100024", "获取商户id失败"),
CODE_GET_ORDER_INFO_BY_MEMBER_ID_ERROR("00100025", "通过会员Id查询某状态订单失败"),
CODE_GET_OPEN_ID_BY_CODE_ERROR("00100026", "获取openid失败"),
@@ -90,6 +88,10 @@ public enum ReturnCodeEnum {
CODE_SELECT_PILE_STARTER_STATUS("00100042", "根据订单号查询充电桩启动状态失败"),
CODE_GET_PAY_MODE("00100043", "获取支付方式失败"),
CODE_GET_MERCHANT_ID_BY_APP_ID_ERROR("00100044", "获取商户id失败"),
CODE_PILE_HAS_BEEN_BINDING_ERROR("00400001", "此桩已被绑定,请联系管理员!"),
CODE_AUTHENTICATION_ERROR("00400002", "您的身份信息验证有误,请重试!"),
@@ -131,6 +133,8 @@ public enum ReturnCodeEnum {
CODE_THIS_CARD_HAS_BEEN_BINDING("00600003", "此卡已被绑定!"),
CODE_SECRET_KEY_NOT_SAME("00600004", "密钥错误,请检查!"),
;
private String value;

View File

@@ -0,0 +1,20 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GetPayModeDTO {
private String memberToken;
private String memberId;
private String pileSn;
private String stationId;
}

View File

@@ -0,0 +1,23 @@
package com.jsowell.pile.vo.uniapp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PayModeVO {
/**
* 支付方式编号
* @see com.jsowell.common.enums.ykc.OrderPayModeEnum
*/
private String payModeCode;
/**
* 支付方式名称
*/
private String payModeName;
}