fix: 可用套餐
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package org.wfc.user.domain;
|
package org.wfc.user.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -84,4 +85,8 @@ public class UAccountPackage extends BaseData {
|
|||||||
|
|
||||||
@Schema(description = "上行限速启用")
|
@Schema(description = "上行限速启用")
|
||||||
private Boolean upLimitEnable;
|
private Boolean upLimitEnable;
|
||||||
|
|
||||||
|
@Schema(description = "上行限速启用")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package org.wfc.user.domain.constant;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 套餐状态
|
||||||
|
* @author: cyc
|
||||||
|
* @since: 2025-03-14
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum PackageStatusEnum {
|
||||||
|
|
||||||
|
INVALID(0, "未生效"),
|
||||||
|
VALID(1, "生效");
|
||||||
|
|
||||||
|
private final Integer code;
|
||||||
|
private final String desc;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package org.wfc.user.domain.convert;
|
||||||
|
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
import org.wfc.user.domain.UAccount;
|
||||||
|
import org.wfc.user.domain.UAccountPackage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: AccountPackageConvert
|
||||||
|
* @author: cyc
|
||||||
|
* @since: 2025-03-14
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface AccountPackageConvert {
|
||||||
|
AccountPackageConvert INSTANCE = Mappers.getMapper(AccountPackageConvert.class);
|
||||||
|
|
||||||
|
UAccountPackage toAccountPackage(UAccount account);
|
||||||
|
}
|
||||||
@@ -7,14 +7,20 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.wfc.common.mybatis.domain.BaseData;
|
||||||
import org.wfc.common.security.utils.SecurityUtils;
|
import org.wfc.common.security.utils.SecurityUtils;
|
||||||
import org.wfc.user.domain.UAccount;
|
import org.wfc.user.domain.UAccount;
|
||||||
import org.wfc.user.domain.UAccountPackage;
|
import org.wfc.user.domain.UAccountPackage;
|
||||||
|
import org.wfc.user.domain.constant.PackageStatusEnum;
|
||||||
|
import org.wfc.user.domain.convert.AccountPackageConvert;
|
||||||
import org.wfc.user.mapper.UAccountMapper;
|
import org.wfc.user.mapper.UAccountMapper;
|
||||||
import org.wfc.user.mapper.UAccountPackageMapper;
|
import org.wfc.user.mapper.UAccountPackageMapper;
|
||||||
import org.wfc.user.service.IUAccountPackageService;
|
import org.wfc.user.service.IUAccountPackageService;
|
||||||
|
import org.wfc.user.util.AccountUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,11 +40,19 @@ public class UAccountPackageServiceImpl extends ServiceImpl<UAccountPackageMappe
|
|||||||
@Override
|
@Override
|
||||||
public List<UAccountPackage> queryList(UAccountPackage uAccountPackage) {
|
public List<UAccountPackage> queryList(UAccountPackage uAccountPackage) {
|
||||||
UAccount account = accountMapper.selectOne(Wrappers.<UAccount>lambdaQuery().eq(UAccount::getUserId, SecurityUtils.getLoginUser().getUserid()), false);
|
UAccount account = accountMapper.selectOne(Wrappers.<UAccount>lambdaQuery().eq(UAccount::getUserId, SecurityUtils.getLoginUser().getUserid()), false);
|
||||||
if (ObjectUtil.isNull(account)) {
|
if (ObjectUtil.isNull(account) || !AccountUtil.isPackageValid(account, new Date())) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
List<UAccountPackage> packages = new ArrayList<>();
|
||||||
|
// 添加当前生效的
|
||||||
|
UAccountPackage accountPackage = AccountPackageConvert.INSTANCE.toAccountPackage(account);
|
||||||
|
accountPackage.setAccountId(account.getId());
|
||||||
|
accountPackage.setStatus(PackageStatusEnum.VALID.getCode());
|
||||||
|
packages.add(accountPackage);
|
||||||
|
|
||||||
uAccountPackage.setAccountId(account.getId());
|
uAccountPackage.setAccountId(account.getId());
|
||||||
return this.list(buildQueryWrapper(uAccountPackage));
|
packages.addAll(this.list(buildQueryWrapper(uAccountPackage)));
|
||||||
|
return packages;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LambdaQueryWrapper<UAccountPackage> buildQueryWrapper(UAccountPackage bo) {
|
private LambdaQueryWrapper<UAccountPackage> buildQueryWrapper(UAccountPackage bo) {
|
||||||
@@ -63,6 +77,7 @@ public class UAccountPackageServiceImpl extends ServiceImpl<UAccountPackageMappe
|
|||||||
lqw.eq(bo.getDownLimitEnable() != null, UAccountPackage::getDownLimitEnable, bo.getDownLimitEnable());
|
lqw.eq(bo.getDownLimitEnable() != null, UAccountPackage::getDownLimitEnable, bo.getDownLimitEnable());
|
||||||
lqw.eq(bo.getUpLimit() != null, UAccountPackage::getUpLimit, bo.getUpLimit());
|
lqw.eq(bo.getUpLimit() != null, UAccountPackage::getUpLimit, bo.getUpLimit());
|
||||||
lqw.eq(bo.getUpLimitEnable() != null, UAccountPackage::getUpLimitEnable, bo.getUpLimitEnable());
|
lqw.eq(bo.getUpLimitEnable() != null, UAccountPackage::getUpLimitEnable, bo.getUpLimitEnable());
|
||||||
|
lqw.orderByAsc(BaseData::getCreateTime);
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ public class UOrderServiceImpl extends ServiceImpl<UOrderMapper, UOrder> impleme
|
|||||||
if (isValid) {
|
if (isValid) {
|
||||||
BeanUtils.copyProperties(uPackage, accountPackage);
|
BeanUtils.copyProperties(uPackage, accountPackage);
|
||||||
accountPackage.setId(null);
|
accountPackage.setId(null);
|
||||||
|
accountPackage.setCreateTime(null);
|
||||||
accountPackage.setAccountId(account.getId());
|
accountPackage.setAccountId(account.getId());
|
||||||
accountPackage.setPackageId(order.getPackageId());
|
accountPackage.setPackageId(order.getPackageId());
|
||||||
accountPackageMapper.insert(accountPackage);
|
accountPackageMapper.insert(accountPackage);
|
||||||
|
|||||||
Reference in New Issue
Block a user