diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UAccountPackageController.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UAccountPackageController.java index 8f93800..42866eb 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UAccountPackageController.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UAccountPackageController.java @@ -24,10 +24,10 @@ import java.util.List; *

* * @author sys - * @since 2025-02-10 + * @since 2025-03-13 */ @RestController -@RequestMapping("/user/uAccountPackage") +@RequestMapping("/accountPackage") public class UAccountPackageController extends BaseController { @Autowired @@ -36,13 +36,13 @@ public class UAccountPackageController extends BaseController { @GetMapping("/page") public TableDataInfo page(UAccountPackage uAccountPackage) { startPage(); - List list = uAccountPackageService.list(); + List list = uAccountPackageService.queryList(uAccountPackage); return getDataTable(list); } @GetMapping("/list") public AjaxResult list(UAccountPackage uAccountPackage) { - List list = uAccountPackageService.list(); + List list = uAccountPackageService.queryList(uAccountPackage); return success(list); } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/IUAccountPackageService.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/IUAccountPackageService.java index 0b2fd40..95accb9 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/IUAccountPackageService.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/IUAccountPackageService.java @@ -3,14 +3,17 @@ package org.wfc.user.service; import org.wfc.user.domain.UAccountPackage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

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

* * @author sys - * @since 2025-02-10 + * @since 2025-03-13 */ public interface IUAccountPackageService extends IService { + List queryList(UAccountPackage uAccountPackage); } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountPackageServiceImpl.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountPackageServiceImpl.java index 2bdbdec..ca0366a 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountPackageServiceImpl.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountPackageServiceImpl.java @@ -1,10 +1,21 @@ package org.wfc.user.service.impl; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.wfc.common.security.utils.SecurityUtils; +import org.wfc.user.domain.UAccount; import org.wfc.user.domain.UAccountPackage; +import org.wfc.user.mapper.UAccountMapper; import org.wfc.user.mapper.UAccountPackageMapper; import org.wfc.user.service.IUAccountPackageService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; /** *

@@ -12,9 +23,46 @@ import org.springframework.stereotype.Service; *

* * @author sys - * @since 2025-02-10 + * @since 2025-03-13 */ @Service public class UAccountPackageServiceImpl extends ServiceImpl implements IUAccountPackageService { + @Autowired + private UAccountMapper accountMapper; + + @Override + public List queryList(UAccountPackage uAccountPackage) { + UAccount account = accountMapper.selectOne(Wrappers.lambdaQuery().eq(UAccount::getUserId, SecurityUtils.getLoginUser().getUserid()), false); + if (ObjectUtil.isNotNull(account)) { + return Collections.emptyList(); + } + uAccountPackage.setAccountId(account.getId()); + return this.list(buildQueryWrapper(uAccountPackage)); + } + + private LambdaQueryWrapper buildQueryWrapper(UAccountPackage bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getAccountId() != null, UAccountPackage::getAccountId, bo.getAccountId()); + lqw.eq(bo.getPackageId() != null, UAccountPackage::getPackageId, bo.getPackageId()); + lqw.eq(bo.getTraffic() != null, UAccountPackage::getTraffic, bo.getTraffic()); + lqw.eq(bo.getDuration() != null, UAccountPackage::getDuration, bo.getDuration()); + lqw.eq(bo.getClientNum() != null, UAccountPackage::getClientNum, bo.getClientNum()); + lqw.eq(bo.getExpiredTime() != null, UAccountPackage::getExpiredTime, bo.getExpiredTime()); + lqw.like(StrUtil.isNotBlank(bo.getPackageName()), UAccountPackage::getPackageName, bo.getPackageName()); + lqw.eq(bo.getPeriodNum() != null, UAccountPackage::getPeriodNum, bo.getPeriodNum()); + lqw.eq(bo.getPeriodType() != null, UAccountPackage::getPeriodType, bo.getPeriodType()); + lqw.eq(bo.getPrice() != null, UAccountPackage::getPrice, bo.getPrice()); + lqw.like(StrUtil.isNotBlank(bo.getRemark()), UAccountPackage::getRemark, bo.getRemark()); + lqw.eq(bo.getRateLimitEnable() != null, UAccountPackage::getRateLimitEnable, bo.getRateLimitEnable()); + lqw.eq(bo.getTrafficEnable() != null, UAccountPackage::getTrafficEnable, bo.getTrafficEnable()); + lqw.eq(bo.getDurationEnable() != null, UAccountPackage::getDurationEnable, bo.getDurationEnable()); + lqw.eq(bo.getClientNumEnable() != null, UAccountPackage::getClientNumEnable, bo.getClientNumEnable()); + lqw.like(StrUtil.isNotBlank(bo.getRateLimitName()), UAccountPackage::getRateLimitName, bo.getRateLimitName()); + lqw.eq(bo.getDownLimit() != null, UAccountPackage::getDownLimit, bo.getDownLimit()); + lqw.eq(bo.getDownLimitEnable() != null, UAccountPackage::getDownLimitEnable, bo.getDownLimitEnable()); + lqw.eq(bo.getUpLimit() != null, UAccountPackage::getUpLimit, bo.getUpLimit()); + lqw.eq(bo.getUpLimitEnable() != null, UAccountPackage::getUpLimitEnable, bo.getUpLimitEnable()); + return lqw; + } } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountServiceImpl.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountServiceImpl.java index 00137e1..cdec94c 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountServiceImpl.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UAccountServiceImpl.java @@ -177,7 +177,9 @@ public class UAccountServiceImpl extends ServiceImpl i if (accountPackageOptional.isPresent()) { wifiApi.reconnectClient(site.getSiteId(), client.getMac()); UAccountPackage accountPackage = accountPackageOptional.get(); + Long accountId = account.getId(); BeanUtils.copyProperties(accountPackage, account); + account.setId(accountId); account.setTrafficUsed(0L); account.setDurationUsed(0L); account.setClientNumUsed(0); diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java index 6770db9..c4d2968 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java @@ -108,7 +108,7 @@ public class UOrderServiceImpl extends ServiceImpl impleme } else { accountId = account.getId(); oldBalance = account.getBalance(); - isValid = AccountUtil.isValid(account, new Date()); + isValid = AccountUtil.isPackageValid(account, new Date()); } if (OrderTypeEnum.PACKAGE.getCode().equals(order.getType())) { // 套餐 @@ -195,6 +195,7 @@ public class UOrderServiceImpl extends ServiceImpl impleme if (isValid) { BeanUtils.copyProperties(uPackage, accountPackage); accountPackage.setId(null); + accountPackage.setAccountId(account.getId()); accountPackage.setPackageId(order.getPackageId()); accountPackageMapper.insert(accountPackage); } else {