admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java
@@ -1,430 +1,198 @@
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.controller.admin.utils.AdminUtils;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.StringUtil;
@Controller
@RequestMapping("admin/new/api/v1/lostOrder")
public class LostOrderAdminController {
   @Resource
   private LostOrderService lostOrderService;
   @RequestMapping("findLostOrderList")
   public void findLostOrderList(int page, String key, PrintWriter out) {
      List<LostOrder> list = lostOrderService.findLostOrderList(key, page);
      int count = lostOrderService.getCount(key);
      PageEntity pe = new PageEntity(page, Constant.PAGE_SIZE, count);
      JSONObject data = new JSONObject();
      data.put("pe", pe);
      data.put("lostOrderList", GsonUtil.toJsonByUserAp(list));
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping("pass")
   public void pass(long id, PrintWriter out) {
      LostOrder lostOrder = lostOrderService.getOne(id);
      if (lostOrder == null) {
         out.print(JsonUtil.loadFalseResult("不存在该查询订单"));
         return;
      }
      if (lostOrder.getState() != 0) {
         out.print(JsonUtil.loadFalseResult("该订单已处理"));
         return;
      }
      lostOrderService.pass(lostOrder);
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping("reject")
   public void reject(long id,String reason, PrintWriter out) {
      LostOrder lostOrder = lostOrderService.getOne(id);
      if (lostOrder == null) {
         out.print(JsonUtil.loadFalseResult("不存在该查询订单"));
         return;
      }
      if (lostOrder.getState() != 0) {
         out.print(JsonUtil.loadFalseResult("该订单已处理"));
         return;
      }
      lostOrder.setRemake(reason);
      lostOrderService.reject(lostOrder);
      out.print(JsonUtil.loadTrueResult(""));
   }
   /**
    * 新版后台 列表查询
    * @param callback
    * @param pageIndex
    * @param key
    * @param out
    */
   @RequestMapping("query")
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
         Integer handleType, PrintWriter out) {
      if (pageIndex == null || pageIndex < 0){
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<LostOrder> list = lostOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state, handleType);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无更多数据"));
            return;
         }
         for (LostOrder lostOrder: list) {
            Order order = lostOrder.getOrder();
            if (order == null) {
               lostOrder.setOrder(new Order());
            }
            UserInfo userInfo = lostOrder.getUserInfo();
            if (userInfo == null) {
               lostOrder.setUserInfo(new UserInfo());
            } else {
               Map<String, Object> countData = lostOrderService.countByUid(userInfo.getId());
               lostOrder.setTotal(Integer.parseInt(countData.get("total")+""));
               lostOrder.setTotalPass(Integer.parseInt(countData.get("totalPass")+""));
               lostOrder.setTotalReject(Integer.parseInt(countData.get("totalReject")+""));
            }
         }
         long count = lostOrderService.countQuery(key, state, handleType);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
         GsonBuilder gsonBuilder = new GsonBuilder();
         gsonBuilder.serializeNulls();
         Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
         JSONObject data = new JSONObject();
         data.put("pe", pe);
         data.put("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    *  新版后台   通过
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping("passOrder")
   public void passOrder(String callback, Long id, PrintWriter out) {
      if (id == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空"));
         return;
      }
      try {
         LostOrder lostOrder = lostOrderService.getOne(id);
         if (lostOrder == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("不存在该查询订单"));
            return;
         }
         if (lostOrder.getState() != 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该订单已处理"));
            return;
         }
         lostOrderService.pass(lostOrder);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    *  新版后台 拒绝
    * @param callback
    * @param id
    * @param reason
    * @param out
    */
   @RequestMapping("rejectOrder")
   public void rejectOrder(String callback, Long id, String reason, PrintWriter out) {
      if (id == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空"));
         return;
      }
      try {
         LostOrder lostOrder = lostOrderService.getOne(id);
         if (lostOrder == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("不存在该查询订单"));
            return;
         }
         if (lostOrder.getState() != 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该订单已处理"));
            return;
         }
         lostOrder.setRemake(reason);
         lostOrderService.reject(lostOrder);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 统计提现申请总次数
    * @param callback
    * @param dateType     显示视图:日-1 、月-2、 年-3
    * @param state 状态:  1-未处理 2-成功  3-失败
    * @param year
    * @param startTime
    * @param endTime
    * @param out
    */
   @RequestMapping(value = "getLostNum")
   public void getLostNum(String callback, Integer dateType, String stateArray, String year,
         String startTime, String endTime, PrintWriter out) {
      String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
      if (validateMsg != null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
         return;
      }
      if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
         startTime = null;
         endTime = null;
      }
      List<Integer> channelList = null;
      if (stateArray != null && stateArray.trim().length() > 0) {
         Gson gson = new Gson();
         channelList = gson.fromJson(stateArray, new TypeToken<ArrayList<Integer>>() {}.getType());
      }
      if (dateType == 1 && year != null) {
         year = null; // 设置为空
      } else if (dateType == 2) {
         if (startTime != null)
            startTime = null;
         if (endTime != null)
            endTime = null;
      } else if (dateType == 3) {
         if (year != null)
            year = null;
         if (startTime != null)
            startTime = null;
         if (endTime != null)
            endTime = null;
      }
      Gson gson = new Gson();
      Object objectDate = null;
      List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
      try {
         JSONArray line_list = new JSONArray();
         if (channelList == null || channelList.size() == 0) {
         } else {
            for (Integer state : channelList) {
               List<Map<String, Object>> list = lostOrderService.countLostNum(dateType, state, year,
                     startTime, endTime);
               JSONObject innerList = new JSONObject();
               if (state == 1) {
                  innerList.put("name", "未处理");
               } else if (state == 2) {
                  innerList.put("name", "成功");
               } else if (state == 3) {
                  innerList.put("name", "失败");
               }
               if (dateType != 3) {
                  innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
               } else {
                  // 年视图
                  Map<String, Object> map = AdminUtils.yearsDataFactory(list);
                  if (objectDate == null) {
                     objectDate = map.get("date");
                  }
                  innerList.put("data", gson.toJson(map.get("value")));
               }
               line_list.add(innerList);
            }
         }
         JSONObject data = new JSONObject();
         if (objectDate != null) {
            data.put("xAxis_list", gson.toJson(objectDate));
         } else {
            data.put("xAxis_list", gson.toJson(dateList));
         }
         data.put("line_list", line_list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 统计申诉金额总数
    * @param callback
    * @param dateType 显示视图:日-1 、月-2、 年-3
    * @param year
    * @param startTime
    * @param endTime
    * @param out
    */
   @RequestMapping(value = "getAppealMoney")
   public void getAppealMoney(String callback, Integer dateType, String year, String startTime, String endTime,
         PrintWriter out) {
      String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
      if (validateMsg != null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
         return;
      }
      if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
         startTime = null;
         endTime = null;
      }
      if (dateType == 1 && year != null) {
         year = null; // 设置为空
      } else if (dateType == 2) {
         if (startTime != null)
            startTime = null;
         if (endTime != null)
            endTime = null;
      } else if (dateType == 3) {
         if (year != null)
            year = null;
         if (startTime != null)
            startTime = null;
         if (endTime != null)
            endTime = null;
      }
      Gson gson = new Gson();
      Object objectDate = null;
      List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
      try {
         JSONArray line_list = new JSONArray();
         List<Map<String, Object>> list = lostOrderService.countAppealMoney(dateType, year, startTime, endTime);
         JSONObject innerList = new JSONObject();
            innerList.put("name", "总计");
         if (dateType != 3) {
            innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
         } else {
            // 年视图
            Map<String, Object> map = AdminUtils.yearsDataFactory(list);
            if (objectDate == null) {
               objectDate = map.get("date");
            }
            innerList.put("data", gson.toJson(map.get("value")));
         }
         line_list.add(innerList);
         JSONObject data = new JSONObject();
         if (objectDate != null) {
            data.put("xAxis_list", gson.toJson(objectDate));
         } else {
            data.put("xAxis_list", gson.toJson(dateList));
         }
         data.put("line_list", line_list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
}
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/lostOrder")
public class LostOrderAdminController {
   @Resource
   private LostOrderService lostOrderService;
   /**
    * 新版后台 列表查询
    * @param callback
    * @param pageIndex
    * @param key
    * @param out
    */
   @RequestMapping("query")
   public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
                 Integer handleType, Integer type, PrintWriter out) {
      if (pageIndex == null || pageIndex < 0){
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<LostOrder> list = lostOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state, handleType, type,acceptData.getSystem());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无更多数据"));
            return;
         }
         for (LostOrder lostOrder: list) {
            Integer stateOrder = lostOrder.getState();
            Integer resultCode = lostOrder.getResultCode();
            if (stateOrder != null && stateOrder == 1 && resultCode!= null) {
               switch(resultCode) {
                  case 1:
                     lostOrder.setRemake("等待爬取中");
                     break;
                  case 2:
                     lostOrder.setRemake("处理成功");
                     break;
                  case 3:
                     lostOrder.setState(2);
                     lostOrder.setRemake("处理失败");
                     break;
                  default:
                     break;
               }
            } else if (stateOrder != null && stateOrder == 2) {
               lostOrder.setRemake("已拒绝");
            }
            Order order = lostOrder.getOrder();
            if (order == null) {
               lostOrder.setOrder(new Order());
            }
            UserInfo userInfo = lostOrder.getUserInfo();
            if (userInfo == null) {
               lostOrder.setUserInfo(new UserInfo());
            } else {
               Map<String, Object> countData = lostOrderService.countByUid(userInfo.getId());
               lostOrder.setTotal(Integer.parseInt(countData.get("total")+""));
               lostOrder.setTotalPass(Integer.parseInt(countData.get("totalPass")+""));
               lostOrder.setTotalReject(Integer.parseInt(countData.get("totalReject")+""));
            }
         }
         long count = lostOrderService.countQuery(key, state, handleType, type,acceptData.getSystem());
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
         GsonBuilder gsonBuilder = new GsonBuilder();
         gsonBuilder.serializeNulls();
         Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
         JSONObject data = new JSONObject();
         data.put("pe", pe);
         data.put("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    *  新版后台   通过
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping("passOrder")
   public void passOrder(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      if (id == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空"));
         return;
      }
      try {
         LostOrder lostOrder = lostOrderService.getOne(id);
         if (lostOrder == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("不存在该查询订单"));
            return;
         }
         if (lostOrder.getState() != 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该订单已处理"));
            return;
         }
         lostOrderService.pass(lostOrder);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    *  新版后台 拒绝
    * @param callback
    * @param id
    * @param reason
    * @param out
    */
   @RequestMapping("rejectOrder")
   public void rejectOrder(AdminAcceptData acceptData,String callback, Long id, String reason, PrintWriter out) {
      if (id == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空"));
         return;
      }
      try {
         LostOrder lostOrder = lostOrderService.getOne(id);
         if (lostOrder == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("不存在该查询订单"));
            return;
         }
         if (lostOrder.getState() != 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该订单已处理"));
            return;
         }
         lostOrder.setRemake(reason);
         lostOrderService.reject(lostOrder);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
}