线下活动报名
This commit is contained in:
@@ -1,14 +1,30 @@
|
|||||||
package com.peanut.modules.common.controller;
|
package com.peanut.modules.common.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
|
import com.peanut.common.utils.ShiroUtils;
|
||||||
|
import com.peanut.config.Constants;
|
||||||
|
import com.peanut.config.DelayQueueConfig;
|
||||||
|
import com.peanut.modules.book.service.BuyOrderService;
|
||||||
|
import com.peanut.modules.common.entity.BuyOrder;
|
||||||
|
import com.peanut.modules.common.entity.MyUserEntity;
|
||||||
|
import com.peanut.modules.common.service.MyUserService;
|
||||||
import com.peanut.modules.common.service.OfflineActivityService;
|
import com.peanut.modules.common.service.OfflineActivityService;
|
||||||
import com.peanut.modules.common.service.OfflineActivityToUserService;
|
import com.peanut.modules.common.service.OfflineActivityToUserService;
|
||||||
|
import com.peanut.modules.pay.weChatPay.dto.WechatPaymentInfo;
|
||||||
|
import com.peanut.modules.pay.weChatPay.service.WxpayService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.amqp.core.MessagePostProcessor;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -23,6 +39,12 @@ public class OfflineActivityController {
|
|||||||
private OfflineActivityService offlineActivityService;
|
private OfflineActivityService offlineActivityService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OfflineActivityToUserService toUserService;
|
private OfflineActivityToUserService toUserService;
|
||||||
|
@Autowired
|
||||||
|
private BuyOrderService buyOrderService;
|
||||||
|
@Autowired
|
||||||
|
private WxpayService wxpayService;
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/getOfflineActivityInfo")
|
@RequestMapping("/getOfflineActivityInfo")
|
||||||
@@ -30,5 +52,51 @@ public class OfflineActivityController {
|
|||||||
return R.ok().put("result", offlineActivityService.getById(params.get("id").toString()));
|
return R.ok().put("result", offlineActivityService.getById(params.get("id").toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//线下活动报名
|
||||||
|
@RequestMapping("/offlineActivityPaySave")
|
||||||
|
@Transactional
|
||||||
|
public R relearnSave(@RequestBody BuyOrder buyOrder){
|
||||||
|
int uid = ShiroUtils.getUId();
|
||||||
|
buyOrder.setOrderStatus("0");
|
||||||
|
buyOrder.setOrderType("offlineActivity");
|
||||||
|
String timeId = IdWorker.getTimeId().substring(0, 32);
|
||||||
|
buyOrder.setOrderSn(timeId);
|
||||||
|
buyOrder.setUserId(uid);
|
||||||
|
buyOrderService.save(buyOrder);
|
||||||
|
BigDecimal totalPrice = buyOrder.getRealMoney();
|
||||||
|
//微信支付预付款订单
|
||||||
|
if(Constants.PAYMENT_METHOD_WECHAT_PAY.equals(buyOrder.getPaymentMethod())){
|
||||||
|
BuyOrder buyOrderEntity = buyOrderService.getBaseMapper().selectOne(new LambdaQueryWrapper<BuyOrder>()
|
||||||
|
.eq(BuyOrder::getOrderSn, timeId));
|
||||||
|
WechatPaymentInfo paymentInfo = new WechatPaymentInfo();
|
||||||
|
paymentInfo.setOrderSn(buyOrderEntity.getOrderSn());
|
||||||
|
paymentInfo.setBuyOrderId(buyOrder.getOrderId());
|
||||||
|
paymentInfo.setTotalAmount(buyOrderEntity.getRealMoney());
|
||||||
|
if (buyOrder.getCome()==2){
|
||||||
|
paymentInfo.setAppName("wumen");
|
||||||
|
} else if (buyOrder.getCome()==1) {
|
||||||
|
paymentInfo.setAppName("zmzm");
|
||||||
|
}else {
|
||||||
|
paymentInfo.setAppName(buyOrder.getAppName());
|
||||||
|
}
|
||||||
|
wxpayService.prepay(paymentInfo);
|
||||||
|
}
|
||||||
|
rabbitTemplate.convertAndSend(
|
||||||
|
DelayQueueConfig.ORDER_TO_BE_PAY_EXCHANGE,
|
||||||
|
DelayQueueConfig.ORDER_TO_BE_PAY_ROUTING_KEY,
|
||||||
|
buyOrder.getOrderId(),
|
||||||
|
messagePostProcessor()
|
||||||
|
);
|
||||||
|
return R.ok().put("orderSn", timeId).put("money", totalPrice);
|
||||||
|
}
|
||||||
|
|
||||||
|
private MessagePostProcessor messagePostProcessor() {
|
||||||
|
return message -> {
|
||||||
|
//设置有效期30分钟
|
||||||
|
message.getMessageProperties().setExpiration(String.valueOf(30 * 60 * 1000));
|
||||||
|
return message;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ public class BuyOrder implements Serializable {
|
|||||||
private String buyType;
|
private String buyType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* vip order point abroadBook
|
* vip order point abroadBook offlineActivity
|
||||||
*/
|
*/
|
||||||
private String orderType;
|
private String orderType;
|
||||||
|
|
||||||
@@ -165,6 +165,10 @@ public class BuyOrder implements Serializable {
|
|||||||
|
|
||||||
private Integer vipBuyConfigId;
|
private Integer vipBuyConfigId;
|
||||||
|
|
||||||
|
private Integer abroadBookId;//海外读书购买书籍id
|
||||||
|
|
||||||
|
private Integer offlineActivityId;//线下活动id
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 地址id
|
* 地址id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -9,11 +9,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.peanut.common.utils.CopyUtils;
|
import com.peanut.common.utils.CopyUtils;
|
||||||
import com.peanut.common.utils.OrderUtils;
|
import com.peanut.common.utils.OrderUtils;
|
||||||
|
import com.peanut.common.utils.ShiroUtils;
|
||||||
import com.peanut.modules.common.dao.*;
|
import com.peanut.modules.common.dao.*;
|
||||||
import com.peanut.modules.book.service.*;
|
import com.peanut.modules.book.service.*;
|
||||||
import com.peanut.modules.common.entity.*;
|
import com.peanut.modules.common.entity.*;
|
||||||
import com.peanut.modules.common.service.CouponHistoryService;
|
import com.peanut.modules.common.service.CouponHistoryService;
|
||||||
import com.peanut.modules.common.service.CouponService;
|
import com.peanut.modules.common.service.CouponService;
|
||||||
|
import com.peanut.modules.common.service.OfflineActivityToUserService;
|
||||||
import com.peanut.modules.master.service.UserCourseBuyService;
|
import com.peanut.modules.master.service.UserCourseBuyService;
|
||||||
import com.peanut.modules.pay.alipay.config.AliPayConfig;
|
import com.peanut.modules.pay.alipay.config.AliPayConfig;
|
||||||
import com.peanut.modules.pay.alipay.config.AliPayUtil;
|
import com.peanut.modules.pay.alipay.config.AliPayUtil;
|
||||||
@@ -78,6 +80,8 @@ public class AliPayServiceImpl implements AliPayService {
|
|||||||
private CouponService couponService;
|
private CouponService couponService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CouponHistoryService couponHistoryService;
|
private CouponHistoryService couponHistoryService;
|
||||||
|
@Autowired
|
||||||
|
private OfflineActivityToUserService offlineActivityToUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String pay(AlipayDTO payDto) {
|
public String pay(AlipayDTO payDto) {
|
||||||
@@ -170,6 +174,17 @@ public class AliPayServiceImpl implements AliPayService {
|
|||||||
couponService.useCouponAmount(couponHistory);
|
couponService.useCouponAmount(couponHistory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if("offlineActivity".equals(subject)){
|
||||||
|
//更新 订单 记录
|
||||||
|
buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"2");
|
||||||
|
//插入活动人员关联
|
||||||
|
OfflineActivityToUser offlineActivityToUser = new OfflineActivityToUser();
|
||||||
|
offlineActivityToUser.setActivityId(order.getOfflineActivityId());
|
||||||
|
offlineActivityToUser.setOrderId(order.getOrderId());
|
||||||
|
offlineActivityToUser.setUserId(ShiroUtils.getUId());
|
||||||
|
offlineActivityToUserService.save(offlineActivityToUser);
|
||||||
|
}
|
||||||
|
|
||||||
if("relearn".equals(subject)){
|
if("relearn".equals(subject)){
|
||||||
//更新 订单 记录
|
//更新 订单 记录
|
||||||
buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"2");
|
buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"2");
|
||||||
|
|||||||
@@ -7,11 +7,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
|
import com.peanut.common.utils.ShiroUtils;
|
||||||
import com.peanut.modules.common.dao.*;
|
import com.peanut.modules.common.dao.*;
|
||||||
import com.peanut.modules.book.service.*;
|
import com.peanut.modules.book.service.*;
|
||||||
import com.peanut.modules.common.entity.*;
|
import com.peanut.modules.common.entity.*;
|
||||||
import com.peanut.modules.common.service.CouponHistoryService;
|
import com.peanut.modules.common.service.CouponHistoryService;
|
||||||
import com.peanut.modules.common.service.CouponService;
|
import com.peanut.modules.common.service.CouponService;
|
||||||
|
import com.peanut.modules.common.service.OfflineActivityToUserService;
|
||||||
import com.peanut.modules.master.service.UserCourseBuyService;
|
import com.peanut.modules.master.service.UserCourseBuyService;
|
||||||
import com.peanut.modules.pay.refund.entity.PayRefundOrder;
|
import com.peanut.modules.pay.refund.entity.PayRefundOrder;
|
||||||
import com.peanut.modules.pay.refund.service.PayRefundOrderService;
|
import com.peanut.modules.pay.refund.service.PayRefundOrderService;
|
||||||
@@ -86,6 +88,8 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
|||||||
private CouponService couponService;
|
private CouponService couponService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CouponHistoryService couponHistoryService;
|
private CouponHistoryService couponHistoryService;
|
||||||
|
@Autowired
|
||||||
|
private OfflineActivityToUserService offlineActivityToUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void prepay(WechatPaymentInfo paymentInfo){
|
public void prepay(WechatPaymentInfo paymentInfo){
|
||||||
@@ -153,6 +157,17 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
|||||||
couponHistory.setOrderId(order.getOrderId());
|
couponHistory.setOrderId(order.getOrderId());
|
||||||
couponService.useCouponAmount(couponHistory);
|
couponService.useCouponAmount(couponHistory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if("offlineActivity".equals(order.getOrderType())){
|
||||||
|
//更新 订单 记录
|
||||||
|
buyOrderService.updateOrderStatus(order.getUserId(),orderNo,"2");
|
||||||
|
//插入活动人员关联
|
||||||
|
OfflineActivityToUser offlineActivityToUser = new OfflineActivityToUser();
|
||||||
|
offlineActivityToUser.setActivityId(order.getOfflineActivityId());
|
||||||
|
offlineActivityToUser.setOrderId(order.getOrderId());
|
||||||
|
offlineActivityToUser.setUserId(ShiroUtils.getUId());
|
||||||
|
offlineActivityToUserService.save(offlineActivityToUser);
|
||||||
|
}
|
||||||
if("relearn".equals(order.getOrderType())){
|
if("relearn".equals(order.getOrderType())){
|
||||||
//更新 订单 记录
|
//更新 订单 记录
|
||||||
buyOrderService.updateOrderStatus(order.getUserId(),orderNo,"2");
|
buyOrderService.updateOrderStatus(order.getUserId(),orderNo,"2");
|
||||||
|
|||||||
Reference in New Issue
Block a user