|
|
package com.example.demo.controller.coin;
import com.example.demo.Util.JWTUtil;import com.example.demo.Util.LanguageTranslationUtil;import com.example.demo.config.interfac.Log;import com.example.demo.domain.entity.Admin;import com.example.demo.service.coin.AuditService;import com.github.pagehelper.PageInfo;import jakarta.servlet.http.HttpServletRequest;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.*;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;import com.example.demo.domain.vo.coin.*;import java.util.Arrays;import java.util.List;
/** * @program: gold-java * @ClassName AuditController * @description: 审核模块 * @author: Ethan * @create: 2025−06-19 17:30 * @Version 1.0 **/
@RestController@RequestMapping("/audit")@RequiredArgsConstructor@Slf4j
@CrossOriginpublic class AuditController {
@Autowired private AuditService auditService;
// 注入多语言转换工具类
@Autowired private LanguageTranslationUtil languageTranslationUtil;
//审核订单
@Log("审核订单") @PostMapping("audit") public ResponseEntity<Boolean> auditOrder( @RequestBody AuditRequest request) { boolean result = auditService.auditOrder(request.getToken(), request.getOrderCode(), request.getAuditId(), request.getAction(), request.getRejectReason()); return ResponseEntity.ok(result); }
//多条件查询充值审核订单列表
@Log("查询充值审核订单列表") @PostMapping("selectRecharge") public PageInfo<RechargeAudit> searchRechargeAudit( @RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { Integer pageNum = page.getPageNum(); Integer pageSize = page.getPageSize(); RechargeAudit rechargeAudit = page.getRechargeAudit(); //解token权限
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(",")); rechargeAudit.setMarkets(list); }
PageInfo<RechargeAudit> pageInfo = auditService.selectRechargeBy(pageNum, pageSize, rechargeAudit); // 对结果进行多语言转换
translateRechargeAuditResults(pageInfo, lang); return pageInfo; }
//多条件查询退款审核订单列表
@Log("查询退款审核订单列表") @PostMapping("selectRefund") public PageInfo<RefundAudit> searchRefundAudit( @RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { Integer pageNum = page.getPageNum(); Integer pageSize = page.getPageSize(); RefundAudit refundAudit = page.getRefundAudit(); //解token权限
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(",")); refundAudit.setMarkets(list); }
PageInfo<RefundAudit> pageInfo = auditService.selectRefundBy(pageNum, pageSize, refundAudit); // 对结果进行多语言转换
translateRefundAuditResults(pageInfo, lang); return pageInfo; } //充值审核合计数
@Log("充值审核合计数") @PostMapping("sumRechargeGold") public Gold sumRechargeGold(@RequestBody Page page)throws Exception { Integer pageNum = page.getPageNum(); Integer pageSize = page.getPageSize(); RechargeAudit rechargeAudit = page.getRechargeAudit(); //解token权限
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(",")); rechargeAudit.setMarkets(list); } return auditService.sumRechargeGold(pageNum, pageSize, rechargeAudit); } //退款审核合计数
@Log("退款审核合计数") @PostMapping("sumRefundGold") public Gold sumRefundGold(@RequestBody Page page) throws Exception{ Integer pageNum = page.getPageNum(); Integer pageSize = page.getPageSize(); RefundAudit refundAudit = page.getRefundAudit(); //解token权限
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(",")); refundAudit.setMarkets(list); } return auditService.sumRefundGold(pageNum, pageSize, refundAudit); } /** * 转换充值审核结果的多语言字段 */ private void translateRechargeAuditResults(PageInfo<RechargeAudit> pageInfo, String lang) { if (pageInfo != null && pageInfo.getList() != null) { for (RechargeAudit audit : pageInfo.getList()) { // 翻译市场名称
if (audit.getMarket() != null) { audit.setMarket(languageTranslationUtil.translate(audit.getMarket(), lang)); } // 翻译汇率名称
if (audit.getRateName() != null) { audit.setRateName(languageTranslationUtil.translate(audit.getRateName(), lang)); } // 翻译支付方式
if (audit.getPayModel() != null) { audit.setPayModel(languageTranslationUtil.translate(audit.getPayModel(), lang)); } // 翻译活动名称
if (audit.getActivity() != null) { audit.setActivity(languageTranslationUtil.translate(audit.getActivity(), lang)); } // 翻译备注
if (audit.getRemark() != null) { audit.setRemark(languageTranslationUtil.translate(audit.getRemark(), lang)); } } } }
/** * 转换退款审核结果的多语言字段 */ private void translateRefundAuditResults(PageInfo<RefundAudit> pageInfo, String lang) { if (pageInfo != null && pageInfo.getList() != null) { for (RefundAudit audit : pageInfo.getList()) { // 翻译市场名称
if (audit.getMarket() != null) { audit.setMarket(languageTranslationUtil.translate(audit.getMarket(), lang)); } // 翻译商品名称
if (audit.getGoodsName() != null) { audit.setGoodsName(languageTranslationUtil.translate(audit.getGoodsName(), lang)); } // 翻译退款方式
if (audit.getRefundModel() != null) { // refundModel是数字,需要先转换为对应的中文描述再翻译
String refundModelDesc = convertRefundModelToString(audit.getRefundModel()); audit.setRefundModelDesc(languageTranslationUtil.translate(refundModelDesc, lang)); } // 翻译退款类型
if (audit.getRefundType() != null) { audit.setRefundType(languageTranslationUtil.translate(audit.getRefundType(), lang)); } // 翻译备注
if (audit.getRemark() != null) { audit.setRemark(languageTranslationUtil.translate(audit.getRemark(), lang)); } } } }
/** * 将退款方式数字转换为中文描述 */ private String convertRefundModelToString(Integer refundModel) { if (refundModel == null) return ""; switch (refundModel) { case 0: return "全部退款"; case 1: return "部分退款"; default: return "未知退款方式"; } }}
|