From 320e9165ac6cc6d90978fbef3074a8ed9add1790 Mon Sep 17 00:00:00 2001
From: Administrator <1101184511@qq.com>
Date: 星期五, 09 五月 2025 01:21:32 +0800
Subject: [PATCH] 后台管理页面完成

---
 src/main/java/com/taoke/autopay/controller/admin/credit/UserCreditExchangeRecordAdminController.java |   79 +++++++++++++++++++++++++--------------
 1 files changed, 50 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/controller/admin/credit/UserCreditExchangeRecordAdminController.java b/src/main/java/com/taoke/autopay/controller/admin/credit/UserCreditExchangeRecordAdminController.java
index d2d3039..926004f 100644
--- a/src/main/java/com/taoke/autopay/controller/admin/credit/UserCreditExchangeRecordAdminController.java
+++ b/src/main/java/com/taoke/autopay/controller/admin/credit/UserCreditExchangeRecordAdminController.java
@@ -14,6 +14,7 @@
 import com.taoke.autopay.utils.StringUtil;
 import com.taoke.autopay.utils.TimeUtil;
 import com.taoke.autopay.vo.admin.UserCreditExchangeRecordSearchVO;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,6 +22,7 @@
 
 import javax.annotation.Resource;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -34,22 +36,22 @@
 
     private Gson gson = new GsonBuilder()
             .registerTypeAdapter(Date.class, new TypeAdapter<Date>() {
-        @Override
-        public void write(JsonWriter out, Date value) throws IOException {
-            String desc = "";
-            if (value != null) {
-                desc = TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss");
-                out.value(desc);
-            } else {
-                out.value("");
-            }
-        }
+                @Override
+                public void write(JsonWriter out, Date value) throws IOException {
+                    String desc = "";
+                    if (value != null) {
+                        desc = TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss");
+                        out.value(desc);
+                    } else {
+                        out.value("");
+                    }
+                }
 
-        @Override
-        public Date read(JsonReader in) throws IOException {
-            return new Date();
-        }
-    }) .registerTypeAdapter(CreditExchangeRecord.ExchangeType.class, new TypeAdapter<CreditExchangeRecord.ExchangeType>() {
+                @Override
+                public Date read(JsonReader in) throws IOException {
+                    return new Date();
+                }
+            }).registerTypeAdapter(CreditExchangeRecord.ExchangeType.class, new TypeAdapter<CreditExchangeRecord.ExchangeType>() {
                 @Override
                 public void write(JsonWriter out, CreditExchangeRecord.ExchangeType value) throws IOException {
                     String desc = "";
@@ -76,12 +78,12 @@
     @ResponseBody
     @RequestMapping("list")
     public String listRecords(UserCreditExchangeRecordSearchVO search, int page, int limit) {
-        CreditExchangeRecordMapper.DaoQuery query =  CreditExchangeRecordMapper.DaoQuery.builder().build();
+        CreditExchangeRecordMapper.DaoQuery query = CreditExchangeRecordMapper.DaoQuery.builder().build();
         if (!StringUtil.isNullOrEmpty(search.getUid())) {
             query.uid = Long.parseLong(search.getUid());
         }
         if (!StringUtil.isNullOrEmpty(search.getStatus())) {
-            query.exchangeStatus =Integer.parseInt(search.getStatus());
+            query.exchangeStatus = Integer.parseInt(search.getStatus());
         }
 
         if (!StringUtil.isNullOrEmpty(search.getStart_date())) {
@@ -89,9 +91,9 @@
         }
 
         if (!StringUtil.isNullOrEmpty(search.getEnd_date())) {
-            query.maxCreateTime = new Date(TimeUtil.convertToTimeTemp(search.getEnd_date(), "yyyy-MM-dd")+1000*60*60*24L);
+            query.maxCreateTime = new Date(TimeUtil.convertToTimeTemp(search.getEnd_date(), "yyyy-MM-dd") + 1000 * 60 * 60 * 24L);
         }
-        query.sortList = Arrays.asList(new String[]{"_create_time desc"});
+        query.sortList = Arrays.asList(new String[]{"create_time desc"});
         query.start = (long) (page - 1) * limit;
         query.count = limit;
 
@@ -109,18 +111,35 @@
      */
     @ResponseBody
     @RequestMapping("approve")
-    public String approveRecords(Long[] ids) {
+    public String approveRecords(String ids) {
         int successCount = 0;
         int failCount = 0;
-        for(Long id :ids) {
+        JSONArray idsArray = JSONArray.fromObject(ids);
+        List<String> errorMsgList=new ArrayList<>();
+        for (int i = 0; i < idsArray.size(); i++) {
+            long id = idsArray.optLong(i);
             try {
                 userCreditExchangeManager.approveExchange(id);
-                successCount+=1;
+                successCount += 1;
             } catch (UserCreditExchangeException e) {
-                failCount+=1;
+                errorMsgList.add(e.getMessage());
+                failCount += 1;
+                userCreditExchangeRecordService.updateExchangeRecord(CreditExchangeRecord.builder()
+                        .id(id)
+                        .exchangeStatusDescription(e.getMessage())
+                        .updateTime(new Date())
+                        .build());
             }
         }
-        return JsonUtil.loadTrueResult(String.format("鎴愬姛閫氳繃 %d 鏉¤褰� 閫氳繃寮傚父 %d 鏉¤褰�", successCount, failCount));
+        if(idsArray.size()>1) {
+            return JsonUtil.loadFalseResult(String.format("鎴愬姛閫氳繃 %d 鏉¤褰� 閫氳繃寮傚父 %d 鏉¤褰�", successCount, failCount));
+        }else{
+            if(!errorMsgList.isEmpty()) {
+                return JsonUtil.loadFalseResult(errorMsgList.get(0));
+            }else{
+                return JsonUtil.loadTrueResult("閫氳繃鎴愬姛");
+            }
+        }
     }
 
     /**
@@ -128,17 +147,19 @@
      */
     @ResponseBody
     @RequestMapping("reject")
-    public String rejectRecords(Long[] ids) {
+    public String rejectRecords(String ids) {
         int successCount = 0;
         int failCount = 0;
-        for(Long id :ids) {
+        JSONArray idsArray = JSONArray.fromObject(ids);
+        for (int i = 0; i < idsArray.size(); i++) {
+            long id = idsArray.optLong(i);
             try {
                 userCreditExchangeManager.rejectExchange(id);
-                successCount+=1;
+                successCount += 1;
             } catch (UserCreditExchangeException e) {
-                failCount+=1;
+                failCount += 1;
             }
         }
-        return JsonUtil.loadTrueResult(String.format("鎴愬姛椹冲洖 %d 鏉¤褰� 椹冲洖寮傚父 %d 鏉¤褰�", successCount, failCount));
+        return JsonUtil.loadFalseResult(String.format("鎴愬姛椹冲洖 %d 鏉¤褰� 椹冲洖寮傚父 %d 鏉¤褰�", successCount, failCount));
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0