diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/UPackageController.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/UPackageController.java new file mode 100644 index 0000000..849ede0 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/UPackageController.java @@ -0,0 +1,62 @@ +package org.wfc.user.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wfc.common.core.web.controller.BaseController; +import org.wfc.common.core.web.domain.AjaxResult; +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.user.domain.UPackage; +import org.wfc.user.domain.URateLimit; +import org.wfc.user.service.IUPackageService; +import org.wfc.user.service.IURateLimitService; + +import java.util.List; + +/** + *

+ * 用户平台-套餐表 前端控制器 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@RestController +@RequestMapping("/package") +public class UPackageController extends BaseController { + + @Autowired + public IUPackageService uPackageService; + + @Autowired + private IURateLimitService uRateLimitService; + + @GetMapping("/page") + public TableDataInfo page(UPackage uPackage) { + startPage(); + List list = getPackages(); + return getDataTable(list); + } + + @GetMapping("/list") + public AjaxResult list(UPackage uPackage) { + List list = getPackages(); + return success(list); + } + + private List getPackages() { + List list = uPackageService.list(Wrappers.lambdaQuery() + .eq(UPackage::getPackageEnable, true)); + for (UPackage pack : list) { + if (ObjectUtil.isNull(pack.getRateLimitId())) { + continue; + } + URateLimit uRateLimit = uRateLimitService.getById(pack.getRateLimitId()); + pack.setRateLimits(uRateLimit); + } + return list; + } +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/URateLimitController.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/URateLimitController.java new file mode 100644 index 0000000..f40da0c --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/URateLimitController.java @@ -0,0 +1,43 @@ +package org.wfc.user.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wfc.common.core.web.controller.BaseController; +import org.wfc.common.core.web.domain.AjaxResult; +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.user.domain.URateLimit; +import org.wfc.user.service.IURateLimitService; + +import java.util.List; + +/** + *

+ * 用户平台-带宽限速表 前端控制器 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@RestController +@RequestMapping("/rateLimit") +public class URateLimitController extends BaseController { + + @Autowired + public IURateLimitService uRateLimitService; + + @GetMapping("/page") + public TableDataInfo page(URateLimit uRateLimit) { + startPage(); + List list = uRateLimitService.list(); + return getDataTable(list); + } + + @GetMapping("/list") + public AjaxResult list(URateLimit uRateLimit) { + List list = uRateLimitService.list(); + return success(list); + } + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/UPackage.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/UPackage.java new file mode 100644 index 0000000..28d2004 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/UPackage.java @@ -0,0 +1,73 @@ +package org.wfc.user.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import org.wfc.common.mybatis.domain.BaseData; + +import java.math.BigDecimal; + +/** + *

+ * 用户平台-套餐表 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@Getter +@Setter +@TableName("u_package") +@Schema(name = "UPackage", description = "用户平台-套餐表") +public class UPackage extends BaseData { + + private static final long serialVersionUID = 1L; + + @Schema(description = "带宽限速ID") + private Long rateLimitId; + + @Schema(description = "套餐名称") + private String packageName; + + @Schema(description = "有效期数") + private Integer periodNum; + + @Schema(description = "有效期类型") + private String periodType; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "流量") + private Long traffic; + + @Schema(description = "时长") + private Long duration; + + @Schema(description = "在线设备数") + private Integer clientNum; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "带宽是否限制") + private Boolean rateLimitEnable; + + @Schema(description = "流量是否限制") + private Boolean trafficEnable; + + @Schema(description = "时长是否限制") + private Boolean durationEnable; + + @Schema(description = "在线设备数是否限制") + private Boolean clientNumEnable; + + @Schema(description = "套餐是否启用") + private Boolean packageEnable; + + @Schema(description = "带宽限速组") + @TableField(exist = false) + private URateLimit rateLimits; +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/URateLimit.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/URateLimit.java new file mode 100644 index 0000000..8f0d7e5 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/domain/URateLimit.java @@ -0,0 +1,40 @@ +package org.wfc.user.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import org.wfc.common.mybatis.domain.BaseData; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 用户平台-带宽限速表 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@Getter +@Setter +@TableName("u_rate_limit") +@Schema(name = "URateLimit", description = "用户平台-带宽限速表") +public class URateLimit extends BaseData { + + private static final long serialVersionUID = 1L; + + @Schema(description = "限速名称") + private String rateLimitName; + + @Schema(description = "下行限速") + private Long downLimit; + + @Schema(description = "下行限速启用") + private Boolean downLimitEnable; + + @Schema(description = "上行限速") + private Long upLimit; + + @Schema(description = "上行限速启用") + private Boolean upLimitEnable; +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/UPackageMapper.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/UPackageMapper.java new file mode 100644 index 0000000..958e993 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/UPackageMapper.java @@ -0,0 +1,16 @@ +package org.wfc.user.mapper; + +import org.wfc.user.domain.UPackage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 用户平台-套餐表 Mapper 接口 + *

+ * + * @author sys + * @since 2024-12-20 + */ +public interface UPackageMapper extends BaseMapper { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/URateLimitMapper.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/URateLimitMapper.java new file mode 100644 index 0000000..bd28439 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/mapper/URateLimitMapper.java @@ -0,0 +1,16 @@ +package org.wfc.user.mapper; + +import org.wfc.user.domain.URateLimit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 用户平台-带宽限速表 Mapper 接口 + *

+ * + * @author sys + * @since 2024-12-20 + */ +public interface URateLimitMapper extends BaseMapper { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IUPackageService.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IUPackageService.java new file mode 100644 index 0000000..6ff1b3c --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IUPackageService.java @@ -0,0 +1,16 @@ +package org.wfc.user.service; + +import org.wfc.user.domain.UPackage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 用户平台-套餐表 服务类 + *

+ * + * @author sys + * @since 2024-12-20 + */ +public interface IUPackageService extends IService { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IURateLimitService.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IURateLimitService.java new file mode 100644 index 0000000..b6998de --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/IURateLimitService.java @@ -0,0 +1,16 @@ +package org.wfc.user.service; + +import org.wfc.user.domain.URateLimit; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 用户平台-带宽限速表 服务类 + *

+ * + * @author sys + * @since 2024-12-20 + */ +public interface IURateLimitService extends IService { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/UPackageServiceImpl.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/UPackageServiceImpl.java new file mode 100644 index 0000000..e2fb2de --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/UPackageServiceImpl.java @@ -0,0 +1,20 @@ +package org.wfc.user.service.impl; + +import org.wfc.user.domain.UPackage; +import org.wfc.user.mapper.UPackageMapper; +import org.wfc.user.service.IUPackageService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 用户平台-套餐表 服务实现类 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@Service +public class UPackageServiceImpl extends ServiceImpl implements IUPackageService { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/URateLimitServiceImpl.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/URateLimitServiceImpl.java new file mode 100644 index 0000000..0773834 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/service/impl/URateLimitServiceImpl.java @@ -0,0 +1,20 @@ +package org.wfc.user.service.impl; + +import org.wfc.user.domain.URateLimit; +import org.wfc.user.mapper.URateLimitMapper; +import org.wfc.user.service.IURateLimitService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 用户平台-带宽限速表 服务实现类 + *

+ * + * @author sys + * @since 2024-12-20 + */ +@Service +public class URateLimitServiceImpl extends ServiceImpl implements IURateLimitService { + +} diff --git a/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/UPackageMapper.xml b/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/UPackageMapper.xml new file mode 100644 index 0000000..e4f0577 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/UPackageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/URateLimitMapper.xml b/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/URateLimitMapper.xml new file mode 100644 index 0000000..9c9f553 --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/resources/mapper/user/URateLimitMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/UPackageController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/UPackageController.java index e803350..42b8dde 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/UPackageController.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/UPackageController.java @@ -1,6 +1,7 @@ package org.wfc.system.controller; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -14,7 +15,9 @@ import org.wfc.common.core.web.controller.BaseController; import org.wfc.common.core.web.domain.AjaxResult; import org.wfc.common.core.web.page.TableDataInfo; import org.wfc.system.domain.UPackage; +import org.wfc.system.domain.URateLimit; import org.wfc.system.service.IUPackageService; +import org.wfc.system.service.IURateLimitService; import java.util.List; @@ -31,18 +34,21 @@ import java.util.List; public class UPackageController extends BaseController { @Autowired - public IUPackageService uPackageService; + private IUPackageService uPackageService; + + @Autowired + private IURateLimitService uRateLimitService; @GetMapping("/page") public TableDataInfo page(UPackage uPackage) { startPage(); - List list = uPackageService.list(); + List list = getPackages(); return getDataTable(list); } @GetMapping("/list") public AjaxResult list(UPackage uPackage) { - List list = uPackageService.list(); + List list = getPackages(); return success(list); } @@ -66,4 +72,15 @@ public class UPackageController extends BaseController { return toAjax(uPackageService.removeByIds(CollUtil.newArrayList(ids))); } + private List getPackages() { + List list = uPackageService.list(); + for (UPackage pack : list) { + if (ObjectUtil.isNull(pack.getRateLimitId())) { + continue; + } + URateLimit uRateLimit = uRateLimitService.getById(pack.getRateLimitId()); + pack.setRateLimits(uRateLimit); + } + return list; + } } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/URateLimitController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/URateLimitController.java index 132f459..2746572 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/URateLimitController.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/URateLimitController.java @@ -31,7 +31,7 @@ import java.util.List; public class URateLimitController extends BaseController { @Autowired - public IURateLimitService uRateLimitService; + private IURateLimitService uRateLimitService; @GetMapping("/page") public TableDataInfo page(URateLimit uRateLimit) { diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/domain/UPackage.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/domain/UPackage.java index 0b3e835..7f8f1eb 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/domain/UPackage.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/domain/UPackage.java @@ -1,12 +1,13 @@ package org.wfc.system.domain; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.math.BigDecimal; -import org.wfc.common.mybatis.domain.BaseData; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; +import org.wfc.common.mybatis.domain.BaseData; + +import java.math.BigDecimal; /** *

@@ -65,4 +66,8 @@ public class UPackage extends BaseData { @Schema(description = "套餐是否启用") private Boolean packageEnable; + + @Schema(description = "带宽限速组") + @TableField(exist = false) + private URateLimit rateLimits; }