package com.supersavedriving.user.modular.system.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.supersavedriving.user.modular.system.dao.UserToCouponMapper;
|
import com.supersavedriving.user.modular.system.model.Coupon;
|
import com.supersavedriving.user.modular.system.model.UserToCoupon;
|
import com.supersavedriving.user.modular.system.service.IUserToCouponService;
|
import com.supersavedriving.user.modular.system.warpper.CouponWarpper;
|
import com.supersavedriving.user.modular.system.warpper.CouponsWarpper;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/3/2 14:22
|
*/
|
@Service
|
public class UserToCouponServiceImpl extends ServiceImpl<UserToCouponMapper, UserToCoupon> implements IUserToCouponService {
|
|
|
/**
|
* 获取可用优惠券
|
* @param uid
|
* @param price
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public Coupon queryCoupon(Integer uid, Double price) throws Exception {
|
return this.baseMapper.queryCoupon(uid, price);
|
}
|
|
/**
|
* 获取订单支付页面的优惠券列表
|
* @param uid
|
* @param price
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<CouponWarpper> queryPayCouponList(Integer uid, Double price) throws Exception {
|
return this.baseMapper.queryPayCouponList(uid, price);
|
}
|
|
/**
|
* 获取用户优惠券列表
|
* @param uid
|
* @param state
|
* @param pageNum
|
* @param pageSize
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<CouponsWarpper> queryMyCoupons(Integer uid, Integer state, Integer pageNum, Integer pageSize) throws Exception {
|
pageNum = (pageNum - 1) * pageSize;
|
return this.baseMapper.queryMyCoupons(uid, state, pageNum, pageSize);
|
}
|
|
@Override
|
public Integer queryUsedCouponNum(Integer uid) {
|
return this.baseMapper.queryUsedCouponNum(uid);
|
}
|
|
|
/**
|
* 删除优惠券
|
*/
|
@Override
|
public void delUserCoupon() {
|
List<UserToCoupon> userToCoupons = this.selectList(new EntityWrapper<UserToCoupon>().eq("status", 1).last(" and UNIX_TIMESTAMP(expireTime) + 1296000 <= UNIX_TIMESTAMP(now())"));
|
for (UserToCoupon userToCoupon : userToCoupons) {
|
userToCoupon.setStatus(3);
|
this.updateById(userToCoupon);
|
}
|
}
|
}
|