修改篮球入场支付方式
This commit is contained in:
@@ -210,11 +210,22 @@ public class VenueController extends BaseApiController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/venue/basketball/pay", method = RequestMethod.POST)
|
@RequestMapping(value = "/venue/basketball/pay", method = RequestMethod.POST)
|
||||||
@AccessToken
|
@AccessToken
|
||||||
public ResponseDTO recharge(@RequestParam("rechargeId") Integer rechargeId){
|
public ResponseDTO recharge(@RequestParam("venueId") Integer venueId){
|
||||||
Venue venue = new Venue();
|
Device byDevice = deviceService.findByDevice(venueId);
|
||||||
// TODO
|
BasketEnterResult join = new BasketEnterResult();
|
||||||
|
if (byDevice == null) {
|
||||||
|
join.setFlg(999);
|
||||||
|
join.setMsg("通讯异常,门禁设备离线中");
|
||||||
|
return ResponseDTO.ok().addAttribute("join", join);
|
||||||
|
}
|
||||||
|
String doorSn = byDevice.getName();
|
||||||
|
boolean lockStat = doorLockUtil.checkDoorLock(doorSn);
|
||||||
|
if (lockStat) {
|
||||||
|
throw new ServiceException("有人正在使用门禁,请稍后再试");
|
||||||
|
}
|
||||||
|
Integer memberId = getMemberIdByAccessToken();
|
||||||
return ResponseDTO.ok().
|
return ResponseDTO.ok().
|
||||||
addAttribute("pay",orderService.createEnterVenueOrder(venue,getLoginMemberId(), PayTypeEnum.WEI_XIN,new BigDecimal(10)));
|
addAttribute("pay",orderService.createEnterVenueOrder(venueId, memberId, PayTypeEnum.WEI_XIN,new BigDecimal(10)));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.sv.dto;
|
package com.sv.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
public class BasketEnterResult implements Serializable {
|
public class BasketEnterResult implements Serializable {
|
||||||
/**
|
/**
|
||||||
@@ -10,6 +11,16 @@ public class BasketEnterResult implements Serializable {
|
|||||||
|
|
||||||
private String msg;
|
private String msg;
|
||||||
|
|
||||||
|
private BigDecimal money;
|
||||||
|
|
||||||
|
public BigDecimal getMoney() {
|
||||||
|
return money;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMoney(BigDecimal money) {
|
||||||
|
this.money = money;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getFlg() {
|
public Integer getFlg() {
|
||||||
return flg;
|
return flg;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ public class MemberCardOrderService extends BaseServiceImpl {
|
|||||||
// memberCardService.createCard(order,totalPrice);
|
// memberCardService.createCard(order,totalPrice);
|
||||||
|
|
||||||
// 4.调支付
|
// 4.调支付
|
||||||
OrderPaySignResponse.WechatPayParam wechatPayParam = createUnifiedOrder(order.getOrderSn(), memberId,ip);
|
OrderPaySignResponse.WechatPayParam wechatPayParam = createUnifiedOrder(order.getOrderSn(), memberId,ip,"购买商品");
|
||||||
return wechatPayParam;
|
return wechatPayParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,12 +220,12 @@ public class MemberCardOrderService extends BaseServiceImpl {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public OrderPaySignResponse.WechatPayParam createUnifiedOrder(String orderSn, Integer memberId, String ip) {
|
public OrderPaySignResponse.WechatPayParam createUnifiedOrder(String orderSn, Integer memberId, String ip,String orderTitle) {
|
||||||
Order order = orderService.findOrderSn(orderSn, memberId);
|
Order order = orderService.findOrderSn(orderSn, memberId);
|
||||||
if (order == null){
|
if (order == null){
|
||||||
throw new ServiceException(com.sv.exception.api.ExceptionCodeTemplate.ORDER_ERROR);
|
throw new ServiceException(com.sv.exception.api.ExceptionCodeTemplate.ORDER_ERROR);
|
||||||
}
|
}
|
||||||
return wechatPayService.createUnifiedOrder(orderSn, order.getPrice(), ip, "JSAPI", memberId);
|
return wechatPayService.createUnifiedOrder(orderSn, order.getPrice(), ip, memberId,orderTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ public class MemberLessonTicketService extends BaseServiceImpl {
|
|||||||
memberService.updateMoney(memberId, order.getPrice().negate());
|
memberService.updateMoney(memberId, order.getPrice().negate());
|
||||||
paySuccess(order);
|
paySuccess(order);
|
||||||
} else {
|
} else {
|
||||||
wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId, ip);
|
wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId, ip,"购买商品");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
redisLock.unlock();
|
redisLock.unlock();
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.sv.dto.api.wechat.OrderPaySignResponse;
|
|||||||
import com.sv.entity.*;
|
import com.sv.entity.*;
|
||||||
import com.sv.exception.api.ExceptionCodeTemplate;
|
import com.sv.exception.api.ExceptionCodeTemplate;
|
||||||
import com.sv.mapper.OrderMapper;
|
import com.sv.mapper.OrderMapper;
|
||||||
|
import com.sv.mapper.VenueMapper;
|
||||||
import com.sv.service.api.config.WechatPayService;
|
import com.sv.service.api.config.WechatPayService;
|
||||||
import com.ydd.framework.core.common.Pagination;
|
import com.ydd.framework.core.common.Pagination;
|
||||||
import com.ydd.framework.core.exception.ServiceException;
|
import com.ydd.framework.core.exception.ServiceException;
|
||||||
@@ -44,6 +45,8 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderMapper orderMapper;
|
private OrderMapper orderMapper;
|
||||||
@Resource
|
@Resource
|
||||||
|
private VenueMapper venueMapper;
|
||||||
|
@Resource
|
||||||
private WechatPayService wechatPayService;
|
private WechatPayService wechatPayService;
|
||||||
@Resource
|
@Resource
|
||||||
private RechargeService rechargeService;
|
private RechargeService rechargeService;
|
||||||
@@ -224,7 +227,7 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
orderMapper.insert(order);
|
orderMapper.insert(order);
|
||||||
|
|
||||||
// 调微信
|
// 调微信
|
||||||
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId,ip);
|
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId,ip,"余额充值");
|
||||||
return wechatPayParam;
|
return wechatPayParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,12 +243,14 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成进场订单
|
* 生成进场订单
|
||||||
* @param venue
|
|
||||||
* @param memberId
|
* @param memberId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
public OrderPaySignResponse.WechatPayParam createEnterVenueOrder(Integer venueId, Integer memberId,PayTypeEnum payTypeEnum,BigDecimal price){
|
||||||
public String createEnterVenueOrder(Venue venue, Integer memberId,PayTypeEnum payTypeEnum,BigDecimal price){
|
Venue venue = venueMapper.findById(venueId);
|
||||||
|
if (venue == null) {
|
||||||
|
throw new ServiceException("未找到该场馆");
|
||||||
|
}
|
||||||
//创建订单
|
//创建订单
|
||||||
Order order = new Order();
|
Order order = new Order();
|
||||||
order.setOrderSn(createSn());
|
order.setOrderSn(createSn());
|
||||||
@@ -257,15 +262,12 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
order.setPlatformId(venue.getPlatformId());
|
order.setPlatformId(venue.getPlatformId());
|
||||||
order.setMemberId(memberId);
|
order.setMemberId(memberId);
|
||||||
orderMapper.insert(order);
|
orderMapper.insert(order);
|
||||||
|
//扣除用户余额 目前篮球订单不支持余额支付
|
||||||
//扣除用户余额
|
// if(payTypeEnum.value.equals(PayTypeEnum.BALANCE.value)) {
|
||||||
if(payTypeEnum.value.equals(PayTypeEnum.BALANCE.value)) {
|
// memberMoneyLogService.create(memberId, venue.getPlatformId(), MoneyLogEnum.JOIN.value, price.negate(), PayTypeEnum.BALANCE.value, null, venue.getId(), venue.getType(), null);
|
||||||
memberMoneyLogService.create(memberId, venue.getPlatformId(), MoneyLogEnum.JOIN.value, price.negate(), PayTypeEnum.BALANCE.value, null, venue.getId(), venue.getType(), null);
|
// }
|
||||||
}
|
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId,"ip","入场结算订单");
|
||||||
//TODO 调用微信支付 不用这个方法,需要新增方法,把商品的信息进行调整 最好有空把充值的内容也更新一下
|
return wechatPayParam;
|
||||||
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId,"ip");
|
|
||||||
|
|
||||||
return order.getOrderSn();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class WechatPayService extends BaseServiceImpl {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public OrderPaySignResponse.WechatPayParam createUnifiedOrder(String orderSn, BigDecimal money, String ip, String tradeType, Integer memberId) {
|
public OrderPaySignResponse.WechatPayParam createUnifiedOrder(String orderSn, BigDecimal money, String ip, Integer memberId, String orderTitle) {
|
||||||
OrderPaySignResponse.WechatPayParam wechatPayParam;
|
OrderPaySignResponse.WechatPayParam wechatPayParam;
|
||||||
try {
|
try {
|
||||||
// 设置过期时间
|
// 设置过期时间
|
||||||
@@ -73,7 +73,7 @@ public class WechatPayService extends BaseServiceImpl {
|
|||||||
weChatPayHelper.setMchId(payConfig.getMchId());
|
weChatPayHelper.setMchId(payConfig.getMchId());
|
||||||
weChatPayHelper.setKey(payConfig.getKey());
|
weChatPayHelper.setKey(payConfig.getKey());
|
||||||
weChatPayHelper.setParameter("nonce_str", nonceStr);
|
weChatPayHelper.setParameter("nonce_str", nonceStr);
|
||||||
weChatPayHelper.setParameter("body", "购买商品");
|
weChatPayHelper.setParameter("body", orderTitle);
|
||||||
weChatPayHelper.setParameter("detail", "商品");
|
weChatPayHelper.setParameter("detail", "商品");
|
||||||
weChatPayHelper.setParameter("out_trade_no", orderSn);
|
weChatPayHelper.setParameter("out_trade_no", orderSn);
|
||||||
String payMoney = money.multiply(new BigDecimal(100))
|
String payMoney = money.multiply(new BigDecimal(100))
|
||||||
@@ -82,7 +82,7 @@ public class WechatPayService extends BaseServiceImpl {
|
|||||||
weChatPayHelper.setParameter("spbill_create_ip", ip);
|
weChatPayHelper.setParameter("spbill_create_ip", ip);
|
||||||
weChatPayHelper.setParameter("time_start", DateFormatUtils.format(current, "yyyyMMddHHmmss"));
|
weChatPayHelper.setParameter("time_start", DateFormatUtils.format(current, "yyyyMMddHHmmss"));
|
||||||
weChatPayHelper.setParameter("notify_url", payConfig.getNotifyUrl());
|
weChatPayHelper.setParameter("notify_url", payConfig.getNotifyUrl());
|
||||||
weChatPayHelper.setParameter("trade_type", tradeType);
|
weChatPayHelper.setParameter("trade_type", "JSAPI"); // 目前写死
|
||||||
//使用公众号的appid
|
//使用公众号的appid
|
||||||
MemberAuth memberAuth = memberAuthService.findByMemberId(memberId);
|
MemberAuth memberAuth = memberAuthService.findByMemberId(memberId);
|
||||||
weChatPayHelper.setParameter("openid", memberAuth.getAuthId());
|
weChatPayHelper.setParameter("openid", memberAuth.getAuthId());
|
||||||
|
|||||||
Reference in New Issue
Block a user