Browse Source

1月22日,现金查询地区优化

lijianlin/feature-20260113-现金管理0109^2
wangguorui 1 month ago
parent
commit
5c83484717
  1. 9
      src/main/java/com/example/demo/controller/cash/CashCollectionController.java
  2. 2
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  3. 4
      src/main/java/com/example/demo/service/cash/CashCollectionService.java
  4. 42
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  5. 6
      src/main/resources/cashMapper/CashCollectionMapper.xml

9
src/main/java/com/example/demo/controller/cash/CashCollectionController.java

@ -52,14 +52,11 @@ public class CashCollectionController {
//根据精网号获取姓名和地区
@PostMapping("/getNameAndMarket")
public Result getNameAndMarket(@RequestBody Integer jwcode, @RequestHeader(defaultValue = "zh_CN") String lang) {
try {
return Result.success(cashCollectionService.getNameAndMarket(jwcode));
} catch (Exception e) {
String errorMsg = languageTranslationUtil.translate(e.getMessage(), lang);
return Result.error(errorMsg);
}
// 直接返回服务层的 Result 对象
return cashCollectionService.getNameAndMarket(jwcode);
}
//获取收款活动列表
@PostMapping("/getActivityList")
public Result getActivityList()

2
src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java

@ -25,6 +25,8 @@ import java.util.Set;
@Mapper
public interface CashCollectionMapper {
//ceshi
// 检查用户是否存在
int checkUserExists(@Param("jwcode") Integer jwcode);
//根据jwcode获取所属地区
String getMarketByJwcode(@Param("jwcode") Integer jwcode);
//新增收款订单

4
src/main/java/com/example/demo/service/cash/CashCollectionService.java

@ -4,9 +4,9 @@ import com.example.demo.domain.DTO.PerformanceDTO;
import com.example.demo.domain.entity.CashRecord;
import com.example.demo.domain.entity.GOrder;
import com.example.demo.domain.entity.RechargeActivity;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.vo.cash.CashCollection;
import com.example.demo.domain.vo.cash.PerformanceVO;
import com.example.demo.domain.vo.coin.Result;
import com.github.pagehelper.PageInfo;
import java.util.List;
@ -34,7 +34,7 @@ public interface CashCollectionService {
//补全手续费等
String complete(CashRecord cashRecord);
//根据精网号获取姓名和地区
User getNameAndMarket(Integer jwcode);
Result getNameAndMarket(Integer jwcode);
//获取活动列表
List<RechargeActivity> getActivityList();
//同步g_order订单到cash_record表

42
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -10,6 +10,7 @@ import com.example.demo.domain.vo.cash.CashCollectionMessage;
import com.example.demo.domain.vo.cash.PerformanceVO;
import com.example.demo.domain.vo.coin.GoldUser;
import com.example.demo.domain.vo.coin.Messages;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.cash.CashCollectionMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.UserMapper;
@ -356,32 +357,55 @@ public class CashCollectionServiceImpl implements CashCollectionService {
//根据精网号查询姓名和地区
@Override
public User getNameAndMarket(Integer jwcode) {
public Result getNameAndMarket(Integer jwcode) {
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
if (admin != null) {
List<String> list = Arrays.asList(admin.getMarkets().split(","));
List<String> markets = marketMapper.getMarketIds(list);
if (markets.contains("9") || markets.contains("9999")) {
markets = null;
// 检查用户是否存在
int userCount = cashCollectionMapper.checkUserExists(jwcode);
if (userCount == 0) {
return Result.error("用户为空");
}
GoldUser gUser = userMapper.selectUserCard(jwcode.toString(), markets);
if (gUser != null) {
if (markets.contains("9") || markets.contains("9999")) {
// 有特殊权限可访问所有用户
User user = new User();
user.setMarket(cashCollectionMapper.getMarketByJwcode(jwcode));
user.setName(cashCollectionMapper.getNameByJwcode(jwcode));
user.setMarketName(cashCollectionMapper.getMarketNameByJwcode(jwcode));
return user;
return Result.success(user);
} else {
// 检查用户所在市场是否在管理员权限范围内
String userMarket = cashCollectionMapper.getMarketByJwcode(jwcode);
if (userMarket != null && markets.contains(userMarket)) {
// 有权限访问返回用户信息
User user = new User();
user.setMarket(userMarket);
user.setName(cashCollectionMapper.getNameByJwcode(jwcode));
user.setMarketName(cashCollectionMapper.getMarketNameByJwcode(jwcode));
return Result.success(user);
} else {
// 无权限返回用户所属地区
String userMarketName = cashCollectionMapper.getMarketNameByJwcode(jwcode);
return Result.errorWithData("无权限访问", java.util.Map.of("market", userMarketName));
}
}
} else {
// admin null即权限验证失败
String userMarketName = cashCollectionMapper.getMarketNameByJwcode(jwcode);
return Result.errorWithData("无权限访问", java.util.Map.of("market", userMarketName));
}
} catch (Exception e) {
e.printStackTrace();
return Result.error("精网号有误!请检查");
}
// 如果没有返回有效用户信息则抛出异常
throw new RuntimeException("无法获取用户信息");
}
//获取收款活动列表

6
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -98,6 +98,12 @@
set is_synced = 1
where id = #{orderId}
</update>
<!-- 检查用户是否存在 -->
<select id="checkUserExists" resultType="int">
SELECT COUNT(*)
FROM user
WHERE jwcode = #{jwcode}
</select>
<!--根据jwcode获取所属地区-->
<select id="getMarketByJwcode" resultType="java.lang.String">
select market from user where jwcode=#{jwcode}

Loading…
Cancel
Save