admin
2020-04-14 036fc28606e5fcb2203cbc7c4736c99512a522f7
fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@@ -18,6 +19,10 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.controller.admin.utils.AdminUtils;
import com.yeshi.fanli.dto.ChartTDO;
@@ -34,6 +39,7 @@
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.integral.IntegralDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
import com.yeshi.fanli.log.LogHelper;
@@ -1392,4 +1398,71 @@
      }
   }
   /**
    * 用户账户明细
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param id
    * @param out
    */
   @RequestMapping(value = "getMoneyDetails")
   public void getMoneyDetails(String callback, Integer pageIndex, String key, Integer keyType, PrintWriter out) {
      if (pageIndex == null) {
         pageIndex = 1;
      }
      int pageSize = Constant.PAGE_SIZE;
      try {
         List<UserMoneyDetail> list = userMoneyDetailService.listQuery(pageIndex, pageSize, key, keyType);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         for (UserMoneyDetail detail: list) {
            UserInfo userInfo = detail.getUserInfo();
            if (userInfo == null) {
               detail.setUserInfo(new UserInfo());
               continue;
            }
            UserInfo user = userInfoService.selectByPKey(userInfo.getId());
            if (user != null) {
               detail.setUserInfo(user);
            }
         }
         long count = userMoneyDetailService.countQuery(key, keyType);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
         GsonBuilder gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss");
         gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new JsonSerializer<UserMoneyDetailTypeEnum>() {
            @Override
            public JsonElement serialize(UserMoneyDetailTypeEnum value, Type theType, JsonSerializationContext context) {
               if (value == null) {
                  return new JsonPrimitive("");
               } else {
                  return new JsonPrimitive(value.getDesc());
               }
            }
         });
         Gson gson = gsonBuilder.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) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
      }
   }
}