Browse Source

12月1日现金管理多语言配置,修改msg

wangguorui/feature-20251125171605-现金管理多语言配置
wangguorui 1 month ago
parent
commit
c00c460f84
  1. 26
      src/main/java/com/example/demo/controller/coin/AdminController.java
  2. 58
      src/main/java/com/example/demo/controller/coin/RefundController.java
  3. 5
      src/main/java/com/example/demo/service/coin/AdminService.java
  4. 7
      src/main/java/com/example/demo/service/coin/RefundService.java
  5. 45
      src/main/java/com/example/demo/serviceImpl/coin/AdminServiceImpl.java
  6. 2
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java
  7. 64
      src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

26
src/main/java/com/example/demo/controller/coin/AdminController.java

@ -46,7 +46,7 @@ public class AdminController {
@Log("用户登录") @Log("用户登录")
@PostMapping("/login") @PostMapping("/login")
public Result login(@RequestBody Admin admin) {
public Result login(@RequestBody Admin admin, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
admin = adminService.login(admin); admin = adminService.login(admin);
@ -58,14 +58,15 @@ public class AdminController {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error(e.getMessage()); log.error(e.getMessage());
return Result.error(e.getMessage());
String translatedErrorMsg = languageTranslationUtil.translate(e.getMessage(), lang);
return Result.error(translatedErrorMsg);
} }
} }
@Log("查看用户信息") @Log("查看用户信息")
@PostMapping("/userinfo") @PostMapping("/userinfo")
public UserDetails getUserInfo(@RequestHeader("token") String token1, public UserDetails getUserInfo(@RequestHeader("token") String token1,
@RequestHeader(defaultValue = "zh_CN") String lang) {
@RequestHeader(defaultValue = "zh") String lang) {
//String token = token1.getToken(); //String token = token1.getToken();
String token = token1; String token = token1;
@ -86,26 +87,28 @@ public class AdminController {
//获取管理员ID //获取管理员ID
@Log("获取用户ID") @Log("获取用户ID")
@PostMapping("/adminId") @PostMapping("/adminId")
public Result selectId(@RequestBody Admin admin) {
public Result selectId(@RequestBody Admin admin, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
String ID = adminService.getId(admin.getAccount()); String ID = adminService.getId(admin.getAccount());
return Result.success(ID); return Result.success(ID);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage()); log.error(e.getMessage());
return Result.error(e.getMessage());
String translatedErrorMsg = languageTranslationUtil.translate(e.getMessage(), lang);
return Result.error(translatedErrorMsg);
} }
} }
//更新用户密码 //更新用户密码
@Log("更新用户密码") @Log("更新用户密码")
@PostMapping("/password") @PostMapping("/password")
public Result updatePassword(@RequestBody Password password){
public Result updatePassword(@RequestBody Password password, @RequestHeader(defaultValue = "zh") String lang){
try { try {
return adminService.updatePassword(password);
return adminService.updatePassword(password, lang);
} catch (Exception e) { } catch (Exception e) {
return Result.error("服务器波动,请稍作等待");
String translatedErrorMsg = languageTranslationUtil.translate("服务器波动,请稍作等待", lang);
return Result.error(translatedErrorMsg);
} }
} }
@ -113,12 +116,13 @@ public class AdminController {
//更新用户密码 //更新用户密码
@Log("重置用户密码") @Log("重置用户密码")
@PostMapping("/reset") @PostMapping("/reset")
public Result resetPassword(@RequestBody Password password){
public Result resetPassword(@RequestBody Password password, @RequestHeader(defaultValue = "zh") String lang){
try { try {
return adminService.resetPassword(password);
return adminService.resetPassword(password, lang);
} catch (Exception e) { } catch (Exception e) {
return Result.error("重置失败");
String translatedErrorMsg = languageTranslationUtil.translate("重置失败", lang);
return Result.error(translatedErrorMsg);
} }
} }

58
src/main/java/com/example/demo/controller/coin/RefundController.java

@ -45,13 +45,15 @@ public class RefundController {
//退款明细 //退款明细
@Log("获取全部退款明细") @Log("获取全部退款明细")
@PostMapping("/selectAll") @PostMapping("/selectAll")
public Result selcetAll(@RequestBody Page page) {
public Result selectAll(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
if (ObjectUtils.isEmpty(page.getPageNum())) { if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
return Result.error(errorMsg);
} }
if (ObjectUtils.isEmpty(page.getPageSize())) { if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
return Result.error(errorMsg);
} else { } else {
//解token权限 //解token权限
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
@ -61,12 +63,14 @@ public class RefundController {
List<String> list = Arrays.asList(admin.getMarkets().split(",")); List<String> list = Arrays.asList(admin.getMarkets().split(","));
page.getRefundUser().setMarkets(list); page.getRefundUser().setMarkets(list);
} else { } else {
return Result.error("角色为空");
String errorMsg = languageTranslationUtil.translate("角色为空", lang);
return Result.error(errorMsg);
} }
return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize(), page.getRefundUser())); return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize(), page.getRefundUser()));
} }
} catch (Exception e) { } catch (Exception e) {
return Result.error("请检查筛选数据的格式");
String errorMsg = languageTranslationUtil.translate("请检查筛选数据的格式", lang);
return Result.error(errorMsg);
} }
} }
@ -74,13 +78,15 @@ public class RefundController {
//退款筛选 //退款筛选
@Log("退款明细筛选") @Log("退款明细筛选")
@PostMapping("/selectBy") @PostMapping("/selectBy")
public Result selcetBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) {
public Result selectBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
if (ObjectUtils.isEmpty(page.getPageNum())) { if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
return Result.error(errorMsg);
} }
if (ObjectUtils.isEmpty(page.getPageSize())) { if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
return Result.error(errorMsg);
} else { } else {
//解token权限 //解token权限
if(page.getRefundUser().getMarkets()==null||page.getRefundUser().getMarkets().isEmpty()) { if(page.getRefundUser().getMarkets()==null||page.getRefundUser().getMarkets().isEmpty()) {
@ -99,7 +105,8 @@ public class RefundController {
return result; return result;
} }
} catch (Exception e) { } catch (Exception e) {
return Result.error("请检查筛选数据的格式");
String errorMsg = languageTranslationUtil.translate("请检查筛选数据的格式", lang);
return Result.error(errorMsg);
} }
} }
@ -107,7 +114,7 @@ public class RefundController {
//退款金币统计 //退款金币统计
@Log("退款金币合计数统计") @Log("退款金币合计数统计")
@PostMapping("/statsGold") @PostMapping("/statsGold")
public Result statsGold(@RequestBody RefundUser refundUser) {
public Result statsGold(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
//解token权限 //解token权限
if(refundUser.getMarkets()==null||refundUser.getMarkets().isEmpty()) { if(refundUser.getMarkets()==null||refundUser.getMarkets().isEmpty()) {
@ -120,15 +127,16 @@ public class RefundController {
Gold gold = refundService.statsGold(refundUser); Gold gold = refundService.statsGold(refundUser);
return Result.success(gold); return Result.success(gold);
} catch (Exception e) { } catch (Exception e) {
return Result.error("请检查数据的格式");
String errorMsg = languageTranslationUtil.translate("请检查数据的格式", lang);
return Result.error(errorMsg);
} }
} }
//获取退款类型 //获取退款类型
@Log("获取退款类型") @Log("获取退款类型")
@PostMapping("/refundType") @PostMapping("/refundType")
public Result getRefundType(@RequestHeader(defaultValue = "zh_CN") String lang) {
List<String> list = refundService.getRefundType();
public Result getRefundType(@RequestHeader(defaultValue = "zh") String lang) {
List<String> list = refundService.getRefundType(lang);
// 对退款类型进行多语言转换 // 对退款类型进行多语言转换
translateRefundTypes(list, lang); translateRefundTypes(list, lang);
return Result.success(list); return Result.success(list);
@ -137,36 +145,40 @@ public class RefundController {
//筛选产品 //筛选产品
// @Log("筛选商品") // @Log("筛选商品")
@PostMapping("/selectGoods") @PostMapping("/selectGoods")
public Result getSelectGoods(@RequestBody RefundUser refundUser) {
List<RefundUser> list = refundService.selectGoods(refundUser);
public Result getSelectGoods(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) {
List<RefundUser> list = refundService.selectGoods(refundUser, lang);
return Result.success(list); return Result.success(list);
} }
//消耗金币退款 //消耗金币退款
@Log("新增金币退款") @Log("新增金币退款")
@PostMapping("/add") @PostMapping("/add")
public Result add(@RequestBody RefundUser refundUser) {
public Result add(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
return refundService.add(refundUser);
return refundService.add(refundUser, lang);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return Result.error(e.getMessage());
String errorMsg = languageTranslationUtil.translate(e.getMessage(), lang);
return Result.error(errorMsg);
} }
} }
public Result selcet(@RequestBody Page page) {
public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) {
try { try {
if (ObjectUtils.isEmpty(page.getPageNum())) { if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
return Result.error(errorMsg);
} }
if (ObjectUtils.isEmpty(page.getPageSize())) { if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
return Result.error(errorMsg);
} else { } else {
return Result.success(refundService.selectBy(page.getPageNum(), page.getPageSize(), page.getRefundUser())); return Result.success(refundService.selectBy(page.getPageNum(), page.getPageSize(), page.getRefundUser()));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return Result.error("请检查筛选数据的格式");
String errorMsg = languageTranslationUtil.translate("请检查筛选数据的格式", lang);
return Result.error(errorMsg);
} }
} }

5
src/main/java/com/example/demo/service/coin/AdminService.java

@ -20,12 +20,11 @@ public interface AdminService {
String getName(String account); String getName(String account);
//更新密码 //更新密码
Result updatePassword(Password password);
Result updatePassword(Password password, String lang);
//重置密码 //重置密码
Result resetPassword(Password password);
Result resetPassword(Password password, String lang);
//获取当前登录的管理员账号 //获取当前登录的管理员账号
String getCurrentAdminAccount(); String getCurrentAdminAccount();
} }

7
src/main/java/com/example/demo/service/coin/RefundService.java

@ -1,6 +1,5 @@
package com.example.demo.service.coin; package com.example.demo.service.coin;
import com.example.demo.domain.vo.coin.ConsumeUser; import com.example.demo.domain.vo.coin.ConsumeUser;
import com.example.demo.domain.vo.coin.Gold; import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.RefundUser; import com.example.demo.domain.vo.coin.RefundUser;
@ -30,12 +29,12 @@ public interface RefundService {
PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser)throws Exception; PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser)throws Exception;
//添加退款记录 //添加退款记录
Result add(RefundUser refundUser);
Result add(RefundUser refundUser, String lang);
//获取退款类型 //获取退款类型
List<String> getRefundType();
List<String> getRefundType(String lang);
//查找退款商品 //查找退款商品
List<RefundUser> selectGoods(RefundUser refundUser);
List<RefundUser> selectGoods(RefundUser refundUser, String lang);
} }

45
src/main/java/com/example/demo/serviceImpl/coin/AdminServiceImpl.java

@ -5,6 +5,7 @@ import com.example.demo.domain.vo.coin.Password;
import com.example.demo.domain.vo.coin.Result; import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.coin.AdminMapper; import com.example.demo.mapper.coin.AdminMapper;
import com.example.demo.service.coin.AdminService; import com.example.demo.service.coin.AdminService;
import com.example.demo.Util.LanguageTranslationUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;
@ -27,6 +28,10 @@ public class AdminServiceImpl implements AdminService {
private AuthenticationManager authenticationManager; private AuthenticationManager authenticationManager;
private final AdminMapper adminMapper; private final AdminMapper adminMapper;
// 注入多语言工具类
@Autowired
private LanguageTranslationUtil languageTranslationUtil;
@Override @Override
public Admin login(Admin admin) throws Exception { public Admin login(Admin admin) throws Exception {
String account = admin.getAccount(); String account = admin.getAccount();
@ -93,29 +98,34 @@ public class AdminServiceImpl implements AdminService {
//更新密码 //更新密码
@Override @Override
public Result updatePassword(Password password) {
public Result updatePassword(Password password, String lang) {
String oldPassword = password.getOldPassword(); String oldPassword = password.getOldPassword();
String newPassword = password.getNewPassword(); String newPassword = password.getNewPassword();
String againPassword = password.getAgainPassword(); String againPassword = password.getAgainPassword();
// 校验输入参数是否为空账号旧密码新密码确认密码均不可为空 // 校验输入参数是否为空账号旧密码新密码确认密码均不可为空
if(oldPassword == null || newPassword == null || againPassword == null ||password.getAccount() == null) { if(oldPassword == null || newPassword == null || againPassword == null ||password.getAccount() == null) {
return Result.error("输入不能为空");
String errorMsg = languageTranslationUtil.translate("输入不能为空", lang);
return Result.error(errorMsg);
} }
// 检查两次输入的新密码是否一致 // 检查两次输入的新密码是否一致
if (!newPassword.equals(againPassword)) { if (!newPassword.equals(againPassword)) {
return Result.error("两次输入的新密码不一致,请核对后重新输入");
String errorMsg = languageTranslationUtil.translate("两次输入的新密码不一致,请核对后重新输入", lang);
return Result.error(errorMsg);
} }
// 检查新密码是否符合复杂度要求 // 检查新密码是否符合复杂度要求
if (!PASSWORD_PATTERN.matcher(newPassword).matches()) { if (!PASSWORD_PATTERN.matcher(newPassword).matches()) {
return Result.error("新密码必须为8-16位数字、字母或符号组成,且至少包含其中两种");
String errorMsg = languageTranslationUtil.translate("新密码必须为8-16位数字、字母或符号组成,且至少包含其中两种", lang);
return Result.error(errorMsg);
} }
if(adminMapper.getAdmin(password.getAccount())==null) if(adminMapper.getAdmin(password.getAccount())==null)
{ {
return Result.error("用户不存在");
String errorMsg = languageTranslationUtil.translate("用户不存在", lang);
return Result.error(errorMsg);
} }
// 校验新密码是否与旧密码相同不允许相同 // 校验新密码是否与旧密码相同不允许相同
if (oldPassword.equals(newPassword)) { if (oldPassword.equals(newPassword)) {
return Result.error("新密码与历史密码重复");
String errorMsg = languageTranslationUtil.translate("新密码与历史密码重复", lang);
return Result.error(errorMsg);
} }
try { try {
// 创建认证令牌并验证旧密码 // 创建认证令牌并验证旧密码
@ -136,29 +146,34 @@ public class AdminServiceImpl implements AdminService {
admin.setPassword(encodedPassword); admin.setPassword(encodedPassword);
admin.setUpdateTime(new Date()); // 更新修改时间 admin.setUpdateTime(new Date()); // 更新修改时间
adminMapper.updatePassword(admin); adminMapper.updatePassword(admin);
return Result.success("密码修改成功");
String successMsg = languageTranslationUtil.translate("密码修改成功", lang);
return Result.success(successMsg);
} catch (BadCredentialsException e) { } catch (BadCredentialsException e) {
// 旧密码验证失败 // 旧密码验证失败
return Result.error("原密码错误,请重新输入");
String errorMsg = languageTranslationUtil.translate("原密码错误,请重新输入", lang);
return Result.error(errorMsg);
} }
catch (Exception e) { catch (Exception e) {
return Result.error("密码更新失败");
String errorMsg = languageTranslationUtil.translate("密码更新失败", lang);
return Result.error(errorMsg);
} }
} }
//重置密码 //重置密码
@Override @Override
public Result resetPassword(Password password) {
public Result resetPassword(Password password, String lang) {
String newPassword = "123456"; String newPassword = "123456";
if(password.getAccount() == null) { if(password.getAccount() == null) {
return Result.error("账户未输入");
String errorMsg = languageTranslationUtil.translate("账户未输入", lang);
return Result.error(errorMsg);
} }
if(adminMapper.getAdmin(password.getAccount())==null) if(adminMapper.getAdmin(password.getAccount())==null)
{ {
return Result.error("账户查找不到");
String errorMsg = languageTranslationUtil.translate("账户查找不到", lang);
return Result.error(errorMsg);
} }
try { try {
// 获取认证后的用户信息 // 获取认证后的用户信息
@ -173,10 +188,12 @@ public class AdminServiceImpl implements AdminService {
admin.setUpdateTime(new Date()); // 更新修改时间 admin.setUpdateTime(new Date()); // 更新修改时间
adminMapper.updatePassword(admin); adminMapper.updatePassword(admin);
return Result.success("密码重置成功");
String successMsg = languageTranslationUtil.translate("密码重置成功", lang);
return Result.success(successMsg);
} }
catch (Exception e) { catch (Exception e) {
return Result.error("其他错误");
String errorMsg = languageTranslationUtil.translate("其他错误", lang);
return Result.error(errorMsg);
} }
} }

2
src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

@ -187,7 +187,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ",")); List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
refundUser.setMarkets(markets); refundUser.setMarkets(markets);
page.setRefundUser(refundUser); page.setRefundUser(refundUser);
return refundController.selcet(page);
return refundController.select(page, String.join(",", markets));
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }

64
src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

@ -4,6 +4,7 @@ import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.mapper.coin.*; import com.example.demo.mapper.coin.*;
import com.example.demo.service.coin.MarketService; import com.example.demo.service.coin.MarketService;
import com.example.demo.service.coin.RefundService; import com.example.demo.service.coin.RefundService;
import com.example.demo.Util.LanguageTranslationUtil;
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;
@ -40,12 +41,16 @@ public class RefundServiceImpl implements RefundService {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired @Autowired
private MarketMapper marketMapper; private MarketMapper marketMapper;
@Autowired @Autowired
private RechargeMapper rechargeMapper; private RechargeMapper rechargeMapper;
// 注入多语言工具类
@Autowired
private LanguageTranslationUtil languageTranslationUtil;
//查找全部退款 //查找全部退款
@Override @Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception { public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception {
@ -84,29 +89,34 @@ public class RefundServiceImpl implements RefundService {
//添加退款记录 //添加退款记录
@Transactional @Transactional
@Override @Override
public Result add(RefundUser refundUser) {
public Result add(RefundUser refundUser, String lang) {
if (refundUser.getTaskGold() == null || refundUser.getFreeGold() == null || refundUser.getPermanentGold() == null) { if (refundUser.getTaskGold() == null || refundUser.getFreeGold() == null || refundUser.getPermanentGold() == null) {
return Result.error("金币不能为空");
String errorMsg = languageTranslationUtil.translate("金币不能为空", lang);
return Result.error(errorMsg);
} }
if (refundUser.getTaskGold().compareTo(BigDecimal.ZERO) < 0 || if (refundUser.getTaskGold().compareTo(BigDecimal.ZERO) < 0 ||
refundUser.getFreeGold().compareTo(BigDecimal.ZERO) < 0 || refundUser.getFreeGold().compareTo(BigDecimal.ZERO) < 0 ||
refundUser.getPermanentGold().compareTo(BigDecimal.ZERO) < 0) { refundUser.getPermanentGold().compareTo(BigDecimal.ZERO) < 0) {
return Result.error("金币不能为负数");
String errorMsg = languageTranslationUtil.translate("金币不能为负数", lang);
return Result.error(errorMsg);
} }
if (refundUser.getJwcode() < 10000000 || refundUser.getJwcode() > 99999999) { if (refundUser.getJwcode() < 10000000 || refundUser.getJwcode() > 99999999) {
return Result.error("精网号位数小于8位或大于8位");
String errorMsg = languageTranslationUtil.translate("精网号位数小于8位或大于8位", lang);
return Result.error(errorMsg);
} }
GoldUser goldUser = userMapper.selectUser(refundUser.getJwcode().toString()); GoldUser goldUser = userMapper.selectUser(refundUser.getJwcode().toString());
if (goldUser == null) { if (goldUser == null) {
return Result.error("用户不存在");
String errorMsg = languageTranslationUtil.translate("用户不存在", lang);
return Result.error(errorMsg);
} }
UserGoldRecord userGoldRecord = new UserGoldRecord(); UserGoldRecord userGoldRecord = new UserGoldRecord();
if(refundUser.getOrderCode()==null|| refundUser.getOrderCode().isEmpty()){ if(refundUser.getOrderCode()==null|| refundUser.getOrderCode().isEmpty()){
return Result.error("订单号不能为空");
String errorMsg = languageTranslationUtil.translate("订单号不能为空", lang);
return Result.error(errorMsg);
} }
String goodsName = ""; String goodsName = "";
if(refundUser.getGoodsName()==null|| refundUser.getGoodsName().isEmpty()){ if(refundUser.getGoodsName()==null|| refundUser.getGoodsName().isEmpty()){
goodsName = "空";
goodsName = languageTranslationUtil.translate("空", lang);
}else { }else {
goodsName = refundUser.getGoodsName(); goodsName = refundUser.getGoodsName();
} }
@ -138,7 +148,8 @@ public class RefundServiceImpl implements RefundService {
if (refundUser.getFreeGold().compareTo(gold.getNowFreeDecember().add(gold.getNowFreeJune())) > 0 if (refundUser.getFreeGold().compareTo(gold.getNowFreeDecember().add(gold.getNowFreeJune())) > 0
|| refundUser.getPermanentGold().compareTo(gold.getNowPermanentGold()) > 0 || refundUser.getPermanentGold().compareTo(gold.getNowPermanentGold()) > 0
|| refundUser.getTaskGold().compareTo(gold.getNowTaskGold()) > 0) { || refundUser.getTaskGold().compareTo(gold.getNowTaskGold()) > 0) {
return Result.error("金币数量不足");
String errorMsg = languageTranslationUtil.translate("金币数量不足", lang);
return Result.error(errorMsg);
} }
// 根据当前月份设置对应字段 // 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) { if (currentMonth >= 1 && currentMonth <= 6) {
@ -166,8 +177,6 @@ public class RefundServiceImpl implements RefundService {
userGoldRecord.setSumGold(-refundUser.getSumGold().intValue()); userGoldRecord.setSumGold(-refundUser.getSumGold().intValue());
} }
userGoldRecord.setPayPlatform("金币系统"); userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setRemark(refundUser.getRemark()); userGoldRecord.setRemark(refundUser.getRemark());
userGoldRecord.setAdminId(refundUser.getAdminId()); userGoldRecord.setAdminId(refundUser.getAdminId());
@ -180,47 +189,55 @@ public class RefundServiceImpl implements RefundService {
if(Objects.equals(refundUser.getRefundType(), "商品退款")){ if(Objects.equals(refundUser.getRefundType(), "商品退款")){
//消费订单号校验 //消费订单号校验
if (list1 == null || list1.isEmpty()) { if (list1 == null || list1.isEmpty()) {
return Result.error("该用户没有该订单号");
String errorMsg = languageTranslationUtil.translate("该用户没有该订单号", lang);
return Result.error(errorMsg);
} else if (list1.size() == 1) { } else if (list1.size() == 1) {
ConsumeUser consumeUser = list1.getFirst(); ConsumeUser consumeUser = list1.getFirst();
if (consumeUser.getIsRefund().equals(1)) { if (consumeUser.getIsRefund().equals(1)) {
return Result.error("该订单已被退款或待审核");
String errorMsg = languageTranslationUtil.translate("该订单已被退款或待审核", lang);
return Result.error(errorMsg);
} }
} else { } else {
return Result.error("订单重复");
String errorMsg = languageTranslationUtil.translate("订单重复", lang);
return Result.error(errorMsg);
} }
}else{ }else{
//充值订单号校验 //充值订单号校验
if (list2 == null || list2.isEmpty()) { if (list2 == null || list2.isEmpty()) {
return Result.error("该用户没有该订单号");
String errorMsg = languageTranslationUtil.translate("该用户没有该订单号", lang);
return Result.error(errorMsg);
} else if (list2.size() == 1) { } else if (list2.size() == 1) {
RechargeUser rechargeUser = list2.getFirst(); RechargeUser rechargeUser = list2.getFirst();
if (rechargeUser.getIsRefund().equals(1)) { if (rechargeUser.getIsRefund().equals(1)) {
return Result.error("该订单已被退款或待审核");
String errorMsg = languageTranslationUtil.translate("该订单已被退款或待审核", lang);
return Result.error(errorMsg);
} }
} else { } else {
return Result.error("订单重复");
String errorMsg = languageTranslationUtil.translate("订单重复", lang);
return Result.error(errorMsg);
} }
} }
refundMapper.add(userGoldRecord); refundMapper.add(userGoldRecord);
consumeMapper.updateIsRefund(orderCode); consumeMapper.updateIsRefund(orderCode);
return Result.success();
String successMsg = languageTranslationUtil.translate("操作成功", lang);
return Result.success(successMsg);
} }
//获取退款类型 //获取退款类型
@Override @Override
public List<String> getRefundType() {
public List<String> getRefundType(String lang) {
List<String> list = refundMapper.getRefundType(); List<String> list = refundMapper.getRefundType();
List<String> filteredList = list.stream() List<String> filteredList = list.stream()
.filter(Objects::nonNull) // 过滤掉 null .filter(Objects::nonNull) // 过滤掉 null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串 .filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
.map(type -> languageTranslationUtil.translate(type, lang)) // 翻译每个类型
.collect(Collectors.toList()); .collect(Collectors.toList());
return filteredList; return filteredList;
} }
//查找退款商品 //查找退款商品
@Override @Override
public List<RefundUser> selectGoods(RefundUser refundUser) {
public List<RefundUser> selectGoods(RefundUser refundUser, String lang) {
List<RefundUser> refundUsers = refundMapper.selectGoods(refundUser); List<RefundUser> refundUsers = refundMapper.selectGoods(refundUser);
List<RefundUser> list = new ArrayList<>(); List<RefundUser> list = new ArrayList<>();
for (RefundUser record : refundUsers) { for (RefundUser record : refundUsers) {
@ -228,16 +245,13 @@ public class RefundServiceImpl implements RefundService {
continue; continue;
} }
String orderCode = record.getOrderCode() != null ? record.getOrderCode() : "无订单号";
String goodsName = record.getGoodsName() != null ? record.getGoodsName() : "无商品名";
String orderCode = record.getOrderCode() != null ? record.getOrderCode() : languageTranslationUtil.translate("无订单号", lang);
String goodsName = record.getGoodsName() != null ? record.getGoodsName() : languageTranslationUtil.translate("无商品名", lang);
BigDecimal permanentGold = record.getPermanentGold() != null ? record.getPermanentGold() : BigDecimal.ZERO; BigDecimal permanentGold = record.getPermanentGold() != null ? record.getPermanentGold() : BigDecimal.ZERO;
BigDecimal freeGold = record.getFreeGold() != null ? record.getFreeGold() : BigDecimal.ZERO; BigDecimal freeGold = record.getFreeGold() != null ? record.getFreeGold() : BigDecimal.ZERO;
BigDecimal taskGold = record.getTaskGold() != null ? record.getTaskGold() : BigDecimal.ZERO; BigDecimal taskGold = record.getTaskGold() != null ? record.getTaskGold() : BigDecimal.ZERO;
// 计算总和
// 拼接格式订单号_商品名例如XF20250629_商品BC
String combined = orderCode + "_" + goodsName;
RefundUser newRefundUser = new RefundUser(); RefundUser newRefundUser = new RefundUser();
newRefundUser.setOrderCode(orderCode); newRefundUser.setOrderCode(orderCode);
newRefundUser.setGoodsName(goodsName); newRefundUser.setGoodsName(goodsName);

Loading…
Cancel
Save