diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index d02758a..6b8a633 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -47,6 +47,7 @@ public class ConsumeController { return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize(),page.getConsumeUser())); } } catch (Exception e) { + e.printStackTrace(); return Result.error("请检查筛选数据的格式"); } diff --git a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java index 9b6f364..b502e5e 100644 --- a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java +++ b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @program: gold-java @@ -48,4 +49,6 @@ public class ConsumeUser implements Serializable { private String sortField; //排序字段 private String sortOrder; //排序顺序 + + private List markets; // 地区列表 } diff --git a/src/main/java/com/example/demo/domain/vo/RechargeUser.java b/src/main/java/com/example/demo/domain/vo/RechargeUser.java index 3310d7c..fddeae2 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeUser.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeUser.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; +import java.util.List; /** * @program: gold-java @@ -47,4 +48,6 @@ public class RechargeUser { private String sortField; //排序字段 private String sortOrder; //排序顺序 + + private List markets; // 地区列表 } diff --git a/src/main/java/com/example/demo/domain/vo/RefundUser.java b/src/main/java/com/example/demo/domain/vo/RefundUser.java index e0e42f6..8916826 100644 --- a/src/main/java/com/example/demo/domain/vo/RefundUser.java +++ b/src/main/java/com/example/demo/domain/vo/RefundUser.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; +import java.util.List; /** * @program: gold-java @@ -47,4 +48,6 @@ public class RefundUser { private String sortField; //排序字段 private String sortOrder; //排序顺序 + + private List markets; // 地区列表 } diff --git a/src/main/java/com/example/demo/service/AdminService.java b/src/main/java/com/example/demo/service/AdminService.java index 7b90e1d..6d6f95a 100644 --- a/src/main/java/com/example/demo/service/AdminService.java +++ b/src/main/java/com/example/demo/service/AdminService.java @@ -24,5 +24,8 @@ public interface AdminService { //重置密码 Result resetPassword(Password password); + + //获取当前登录的管理员账号 + String getCurrentAdminAccount(); } diff --git a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java index f0d141d..a1e382a 100644 --- a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java @@ -181,4 +181,34 @@ public class AdminServiceImpl implements AdminService { return Result.error("其他错误"); } } -} \ No newline at end of file + + + public String getCurrentAdminAccount() { + // 1. 从 Security 上下文获取认证信息 + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + + // 2. 校验认证状态(未登录则抛出异常) + if (authentication == null) { + throw new RuntimeException("当前用户未登录"); + } + + // 3. 获取登录用户的主体信息(principal) + Object principal = authentication.getPrincipal(); + + // 4. 校验主体类型是否为 Admin(确保类型匹配) + if (!(principal instanceof Admin)) { + throw new RuntimeException("登录用户类型错误,不是 Admin"); + } + + // 5. 转换为 Admin 对象并获取 account 属性 + Admin currentAdmin = (Admin) principal; + String account = currentAdmin.getAccount(); + + // 6. 校验 account 不为空(根据业务需求可选) + if (account == null || account.trim().isEmpty()) { + throw new RuntimeException("当前 Admin 的 account 属性为空"); + } + + return account; + } +} diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 1a7ef1a..f4de962 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -9,7 +9,9 @@ import com.example.demo.domain.vo.GoldUser; import com.example.demo.domain.vo.Result; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.UserMapper; +import com.example.demo.service.AdminService; import com.example.demo.service.ConsumeService; +import com.example.demo.service.GeneralService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; @@ -42,9 +44,17 @@ public class ConsumeServiceImpl implements ConsumeService { @Autowired private UserMapper userMapper; + @Autowired + private AdminService adminService; + @Autowired + private GeneralService generalService; + //消耗明细 @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + consumeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List consumeUsers = consumeMapper.selectAll(consumeUser); return new PageInfo<>(consumeUsers); @@ -88,6 +98,9 @@ public class ConsumeServiceImpl implements ConsumeService { //消耗明细筛选 @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + consumeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List consumeUsers = consumeMapper.selectBy(consumeUser); return new PageInfo<>(consumeUsers); @@ -96,14 +109,14 @@ public class ConsumeServiceImpl implements ConsumeService { //新增消耗 @Override public Result add(ConsumeUser consumeUser) { - if(consumeUser.getTaskGold()==null||consumeUser.getFreeGold()==null||consumeUser.getPermanentGold()==null){ + if (consumeUser.getTaskGold() == null || consumeUser.getFreeGold() == null || consumeUser.getPermanentGold() == null) { return Result.error("金币数量不能为空"); } - if(consumeUser.getTaskGold()<0||consumeUser.getFreeGold()<0||consumeUser.getPermanentGold()<0){ + if (consumeUser.getTaskGold() < 0 || consumeUser.getFreeGold() < 0 || consumeUser.getPermanentGold() < 0) { return Result.error("金币不能为负数"); } GoldUser goldUser = userMapper.selectUser(consumeUser.getJwcode().toString()); - if(goldUser==null){ + if (goldUser == null) { return Result.error("用户不存在"); } UserGoldRecord userGoldRecord = new UserGoldRecord(); @@ -168,8 +181,8 @@ public class ConsumeServiceImpl implements ConsumeService { userMapper.updateGold(user); // if(consumeUser.getJwcode().equals(94226013)){ GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65, - (double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) /100, - userGoldRecord.getRemark(),((double) userGoldRecord.getPermanentGold() /100), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName()); + (double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) / 100, + userGoldRecord.getRemark(), ((double) userGoldRecord.getPermanentGold() / 100), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName()); // } return Result.success(); } diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index 48a4fe6..d5629ce 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -6,6 +6,8 @@ import com.example.demo.domain.vo.*; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.RechargeMapper; import com.example.demo.mapper.UserMapper; +import com.example.demo.service.AdminService; +import com.example.demo.service.GeneralService; import com.example.demo.service.RechargeService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -38,9 +40,19 @@ public class RechargeServiceImpl implements RechargeService { @Autowired private UserMapper userMapper; + + @Autowired + private AdminService adminService; + + @Autowired + private GeneralService generalService; + //查询所有充值 @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + rechargeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List rechargeUsers = rechargeMapper.selectAll(rechargeUser); return new PageInfo<>(rechargeUsers); @@ -49,6 +61,9 @@ public class RechargeServiceImpl implements RechargeService { //查询筛选充值 @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + rechargeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List rechargeUsers = rechargeMapper.selectBy(rechargeUser); return new PageInfo<>(rechargeUsers); diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 4e47d8f..84905db 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -5,6 +5,8 @@ import com.example.demo.domain.vo.*; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.RefundMapper; import com.example.demo.mapper.UserMapper; +import com.example.demo.service.AdminService; +import com.example.demo.service.GeneralService; import com.example.demo.service.RefundService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -44,9 +46,18 @@ public class RefundServiceImpl implements RefundService { @Autowired private UserMapper userMapper; + @Autowired + private AdminService adminService; + + @Autowired + private GeneralService generalService; + //查找全部退款 @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + refundUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectAll(refundUser); return new PageInfo<>(refundUsers); @@ -90,6 +101,9 @@ public class RefundServiceImpl implements RefundService { //查找筛选退款 @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) { + String account = adminService.getCurrentAdminAccount(); + List markets = generalService.getRoleMarket(account); + refundUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectBy(refundUser); return new PageInfo<>(refundUsers); diff --git a/src/main/resources/mapper/ConsumeMapper.xml b/src/main/resources/mapper/ConsumeMapper.xml index f8e06a5..24ebae1 100644 --- a/src/main/resources/mapper/ConsumeMapper.xml +++ b/src/main/resources/mapper/ConsumeMapper.xml @@ -21,7 +21,17 @@ user u ON u.jwcode = ugr.jwcode left JOIN admin a ON ugr.admin_id = a.id - WHERE ugr.type = 1 AND ugr.flag = 1 + + ugr.type = 1 AND ugr.flag = 1 + + + AND u.market IN + + #{market} + + + +