12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package com.example.xiaoshiweixinback.service;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.example.xiaoshiweixinback.business.utils.DateUtils;
- import com.example.xiaoshiweixinback.domain.AssoPersonVip;
- import com.example.xiaoshiweixinback.domain.Vip;
- import com.example.xiaoshiweixinback.mapper.AssoPersonVipMapper;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- /**
- * @author admin
- * @description 针对表【asso_person_vip(人员会员管理表)】的数据库操作Service实现
- * @createDate 2024-03-29 15:32:20
- */
- @Service
- public class AssoPersonVipService extends ServiceImpl<AssoPersonVipMapper, AssoPersonVip> {
- public AssoPersonVip getAsso(String personUuid,Vip vip) {
- AssoPersonVip assoPersonVip = new AssoPersonVip();
- LambdaQueryWrapper<AssoPersonVip> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AssoPersonVip::getPersonUuid, personUuid)
- .eq(AssoPersonVip::getVipType, vip.getVipType())
- .orderByDesc(AssoPersonVip::getExpiryTime);
- assoPersonVip = this.getOne(queryWrapper, false);
- if (assoPersonVip != null) {
- this.updateAssoPersonVip(assoPersonVip,personUuid,vip);
- }
- else {
- assoPersonVip = this.addAssoPersonVip(personUuid, vip);}
- return assoPersonVip;
- }
- public AssoPersonVip addAssoPersonVip(String personUuid, Vip vip) {
- //判断是否被邀请过
- Date date = new Date();
- AssoPersonVip assoPersonVip = new AssoPersonVip();
- assoPersonVip.setCreateTime(date);
- Integer lastTime = vip.getLastTime();
- Date expiryDate = DateUtils.getPlusMonthDate(date, lastTime);
- assoPersonVip.setExpiryTime(expiryDate);
- assoPersonVip.setVipUuid(vip.getVipUuid());
- assoPersonVip.setPersonUuid(personUuid);
- assoPersonVip.setVipType(vip.getVipType());
- assoPersonVip.insert();
- return assoPersonVip;
- }
- public AssoPersonVip updateAssoPersonVip(AssoPersonVip assoPersonVip, String personUuid, Vip vip) {
- Date date = new Date();
- Date orgExpiry = assoPersonVip.getExpiryTime();
- Integer lastTime = vip.getLastTime();
- Date expiryDate = null;
- if (orgExpiry.compareTo(date) > 0) {
- expiryDate = DateUtils.getPlusMonthDate(orgExpiry, lastTime);
- } else {
- expiryDate = DateUtils.getPlusMonthDate(date, lastTime);
- }
- assoPersonVip.setExpiryTime(expiryDate);
- assoPersonVip.setVipUuid(vip.getVipUuid());
- assoPersonVip.setVipType(vip.getVipType());
- assoPersonVip.setPersonUuid(personUuid);
- assoPersonVip.updateById();
- return assoPersonVip;
- }
- /**
- *
- * @param personUuid
- * @param dateType 0天 1月 2年
- * @param lastTime
- * @return
- */
- public AssoPersonVip addAssoPersonVipByTime(String personUuid,Integer dateType,Integer lastTime) {
- Date date = new Date();
- AssoPersonVip assoPersonVip = new AssoPersonVip();
- assoPersonVip.setCreateTime(date);
- Date expiryDate = DateUtils.getPlusDayDate(date, lastTime);
- assoPersonVip.setExpiryTime(expiryDate);
- assoPersonVip.setPersonUuid(personUuid);
- assoPersonVip.setVipType(1);
- assoPersonVip.insert();
- return assoPersonVip;
- }
- }
|