package com.sinata.rest.modular.member.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.sinata.rest.modular.member.dao.MyUserCouponOrderMapper;
|
import com.sinata.rest.modular.member.model.MyCoupon;
|
import com.sinata.rest.modular.member.model.MyUserCoupon;
|
import com.sinata.rest.modular.member.model.MyUserCouponOrder;
|
import com.sinata.rest.modular.member.service.IMyCouponService;
|
import com.sinata.rest.modular.member.service.IMyUserCouponOrderService;
|
import com.sinata.rest.modular.member.service.IMyUserCouponService;
|
import jdk.nashorn.internal.runtime.logging.Logger;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* <p>
|
* 有价优惠券订单 服务实现类
|
* </p>
|
*
|
* @author fq
|
* @since 2023-03-14
|
*/
|
@Service
|
public class MyUserCouponOrderServiceImpl extends ServiceImpl<MyUserCouponOrderMapper, MyUserCouponOrder> implements IMyUserCouponOrderService {
|
|
@Autowired
|
@Lazy
|
IMyCouponService myCouponService;
|
@Autowired
|
IMyUserCouponService myUserCouponService;
|
|
@Override
|
public void paySuccess(String orderNo) {
|
LambdaQueryWrapper<MyUserCouponOrder> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(MyUserCouponOrder::getOrderNo,orderNo);
|
MyUserCouponOrder order = getOne(wrapper,Boolean.FALSE);
|
//获取优惠券信息
|
MyCoupon myCoupon = myCouponService.getById(order.getCouponId());
|
MyUserCoupon userCoupon = new MyUserCoupon();
|
userCoupon.setUserId(order.getUserId());
|
userCoupon.setCouponId(myCoupon.getId());
|
userCoupon.setBeginTime(myCoupon.getBeginTime());
|
userCoupon.setEndTime(myCoupon.getEndTime());
|
myUserCouponService.save(userCoupon);
|
//更改订单信息
|
order.setPayStatus(2);
|
order.setUserCouponId(userCoupon.getId());
|
updateById(order);
|
//减扣库存
|
myCoupon.setStock(myCoupon.getStock() - 1);
|
myCouponService.updateById(myCoupon);
|
}
|
}
|