Browse Source

地区属性校验

huangqizheng/feature-20250718222252-导出修改完毕
sunjiabei 1 month ago
parent
commit
279153015d
  1. 1
      src/main/java/com/example/demo/controller/ConsumeController.java
  2. 3
      src/main/java/com/example/demo/domain/vo/ConsumeUser.java
  3. 3
      src/main/java/com/example/demo/domain/vo/RechargeUser.java
  4. 3
      src/main/java/com/example/demo/domain/vo/RefundUser.java
  5. 3
      src/main/java/com/example/demo/service/AdminService.java
  6. 32
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  7. 23
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  8. 15
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  9. 14
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  10. 12
      src/main/resources/mapper/ConsumeMapper.xml

1
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())); return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize(),page.getConsumeUser()));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return Result.error("请检查筛选数据的格式"); return Result.error("请检查筛选数据的格式");
} }

3
src/main/java/com/example/demo/domain/vo/ConsumeUser.java

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @program: gold-java * @program: gold-java
@ -48,4 +49,6 @@ public class ConsumeUser implements Serializable {
private String sortField; //排序字段 private String sortField; //排序字段
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
private List<String> markets; // 地区列表
} }

3
src/main/java/com/example/demo/domain/vo/RechargeUser.java

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @program: gold-java * @program: gold-java
@ -47,4 +48,6 @@ public class RechargeUser {
private String sortField; //排序字段 private String sortField; //排序字段
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
private List<String> markets; // 地区列表
} }

3
src/main/java/com/example/demo/domain/vo/RefundUser.java

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @program: gold-java * @program: gold-java
@ -47,4 +48,6 @@ public class RefundUser {
private String sortField; //排序字段 private String sortField; //排序字段
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
private List<String> markets; // 地区列表
} }

3
src/main/java/com/example/demo/service/AdminService.java

@ -24,5 +24,8 @@ public interface AdminService {
//重置密码 //重置密码
Result resetPassword(Password password); Result resetPassword(Password password);
//获取当前登录的管理员账号
String getCurrentAdminAccount();
} }

32
src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java

@ -181,4 +181,34 @@ public class AdminServiceImpl implements AdminService {
return Result.error("其他错误"); return Result.error("其他错误");
} }
} }
}
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;
}
}

23
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.domain.vo.Result;
import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.mapper.UserMapper; import com.example.demo.mapper.UserMapper;
import com.example.demo.service.AdminService;
import com.example.demo.service.ConsumeService; import com.example.demo.service.ConsumeService;
import com.example.demo.service.GeneralService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -42,9 +44,17 @@ public class ConsumeServiceImpl implements ConsumeService {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired
private AdminService adminService;
@Autowired
private GeneralService generalService;
//消耗明细 //消耗明细
@Override @Override
public PageInfo<ConsumeUser> selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { public PageInfo<ConsumeUser> selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
consumeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<ConsumeUser> consumeUsers = consumeMapper.selectAll(consumeUser); List<ConsumeUser> consumeUsers = consumeMapper.selectAll(consumeUser);
return new PageInfo<>(consumeUsers); return new PageInfo<>(consumeUsers);
@ -88,6 +98,9 @@ public class ConsumeServiceImpl implements ConsumeService {
//消耗明细筛选 //消耗明细筛选
@Override @Override
public PageInfo<ConsumeUser> selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { public PageInfo<ConsumeUser> selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
consumeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser); List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser);
return new PageInfo<>(consumeUsers); return new PageInfo<>(consumeUsers);
@ -96,14 +109,14 @@ public class ConsumeServiceImpl implements ConsumeService {
//新增消耗 //新增消耗
@Override @Override
public Result add(ConsumeUser consumeUser) { 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("金币数量不能为空"); 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("金币不能为负数"); return Result.error("金币不能为负数");
} }
GoldUser goldUser = userMapper.selectUser(consumeUser.getJwcode().toString()); GoldUser goldUser = userMapper.selectUser(consumeUser.getJwcode().toString());
if(goldUser==null){
if (goldUser == null) {
return Result.error("用户不存在"); return Result.error("用户不存在");
} }
UserGoldRecord userGoldRecord = new UserGoldRecord(); UserGoldRecord userGoldRecord = new UserGoldRecord();
@ -168,8 +181,8 @@ public class ConsumeServiceImpl implements ConsumeService {
userMapper.updateGold(user); userMapper.updateGold(user);
// if(consumeUser.getJwcode().equals(94226013)){ // if(consumeUser.getJwcode().equals(94226013)){
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65, 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(); return Result.success();
} }

15
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.ConsumeMapper;
import com.example.demo.mapper.RechargeMapper; import com.example.demo.mapper.RechargeMapper;
import com.example.demo.mapper.UserMapper; 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.example.demo.service.RechargeService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
@ -38,9 +40,19 @@ public class RechargeServiceImpl implements RechargeService {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired
private AdminService adminService;
@Autowired
private GeneralService generalService;
//查询所有充值 //查询所有充值
@Override @Override
public PageInfo<RechargeUser> selectAll(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) { public PageInfo<RechargeUser> selectAll(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
rechargeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<RechargeUser> rechargeUsers = rechargeMapper.selectAll(rechargeUser); List<RechargeUser> rechargeUsers = rechargeMapper.selectAll(rechargeUser);
return new PageInfo<>(rechargeUsers); return new PageInfo<>(rechargeUsers);
@ -49,6 +61,9 @@ public class RechargeServiceImpl implements RechargeService {
//查询筛选充值 //查询筛选充值
@Override @Override
public PageInfo<RechargeUser> selectBy(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) { public PageInfo<RechargeUser> selectBy(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
rechargeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<RechargeUser> rechargeUsers = rechargeMapper.selectBy(rechargeUser); List<RechargeUser> rechargeUsers = rechargeMapper.selectBy(rechargeUser);
return new PageInfo<>(rechargeUsers); return new PageInfo<>(rechargeUsers);

14
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.ConsumeMapper;
import com.example.demo.mapper.RefundMapper; import com.example.demo.mapper.RefundMapper;
import com.example.demo.mapper.UserMapper; 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.example.demo.service.RefundService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
@ -44,9 +46,18 @@ public class RefundServiceImpl implements RefundService {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired
private AdminService adminService;
@Autowired
private GeneralService generalService;
//查找全部退款 //查找全部退款
@Override @Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) { public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectAll(refundUser); List<RefundUser> refundUsers = refundMapper.selectAll(refundUser);
return new PageInfo<>(refundUsers); return new PageInfo<>(refundUsers);
@ -90,6 +101,9 @@ public class RefundServiceImpl implements RefundService {
//查找筛选退款 //查找筛选退款
@Override @Override
public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) { public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) {
String account = adminService.getCurrentAdminAccount();
List<String> markets = generalService.getRoleMarket(account);
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser); List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);
return new PageInfo<>(refundUsers); return new PageInfo<>(refundUsers);

12
src/main/resources/mapper/ConsumeMapper.xml

@ -21,7 +21,17 @@
user u ON u.jwcode = ugr.jwcode user u ON u.jwcode = ugr.jwcode
left JOIN left JOIN
admin a ON ugr.admin_id = a.id admin a ON ugr.admin_id = a.id
WHERE ugr.type = 1 AND ugr.flag = 1
<where>
ugr.type = 1 AND ugr.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0 and '总部' not in markets">
AND u.market IN
<foreach collection="markets" item="market" open="(" close=")" separator=",">
#{market}
</foreach>
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=","> <trim prefix="ORDER BY" suffixOverrides=",">
<choose> <choose>
<!-- 当指定排序字段时使用指定字段排序 --> <!-- 当指定排序字段时使用指定字段排序 -->

Loading…
Cancel
Save