admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/redpack/RedPackRecordAdminController.java
@@ -1,218 +1,218 @@
package com.yeshi.fanli.controller.admin.redpack;
import java.io.PrintWriter;
import java.util.List;
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.redpack.RedPackDetail;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum;
import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
import com.yeshi.fanli.service.inter.redpack.RedPackDetailService;
import com.yeshi.fanli.service.inter.redpack.RedPackExchangeService;
import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.vo.redpack.RedPackBalanceVO;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/redpack/record")
public class RedPackRecordAdminController {
   @Resource
   private RedPackExchangeService redPackExchangeService;
   @Resource
   private RedPackBalanceService redPackBalanceService;
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private RedPackDetailService redPackDetailService;
   @Resource
   private RedPackWinInviteService redPackWinInviteService;
   /**
    * 用户红包记录查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param state 状态:
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
                 Integer order, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<RedPackBalanceVO> list = redPackBalanceService.query((pageIndex - 1) * pageSize, pageSize, key, state, order);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         for (RedPackBalanceVO vo: list) {
            Long id = vo.getId();
            vo.setTodayWin(redPackDetailService.countWinMoneyByDate(id, 1));
            vo.setTheMonthWin(redPackDetailService.countWinMoneyByDate(id, 3));
            vo.setTodayreduce(redPackDetailService.countReduceMoneyByDate(id, 1));
            vo.setTheMonthreduce(redPackDetailService.countReduceMoneyByDate(id, 3));
            vo.setTotalreduce(redPackDetailService.countReduceMoneyByDate(id, 0));
         }
         long count = redPackBalanceService.count(key, state);
         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 pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param type 类型:1赠送 2使用 3体现  4扣除
    * @param out
    */
   @RequestMapping(value = "queryDetail")
   public void queryDetail(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Long uid, Integer type,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<RedPackDetail> list = redPackDetailService.query((pageIndex - 1) * pageSize, pageSize, key, uid, type);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         if (type != null && type == 4) {
            for (RedPackDetail redPackDetail: list) {
               redPackDetail.setBalance(redPackBalanceService.getBalance(redPackDetail.getUid()));
            }
         }
         long count = redPackDetailService.count(key, uid, type);
         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 pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param type 类型:1赠送 2使用 3体现  4扣除
    * @param out
    */
   @RequestMapping(value = "queryInviteWin")
   public void queryInviteWin(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer status,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      String type = null;
      if (status != null) {
         if (status == 0) {
            type = RedPackWinInviteTypeEnum.zeroStageReward.name();
         } else if (status == 1) {
            type = RedPackWinInviteTypeEnum.oneStageReward.name();
         } else if (status == 2) {
            type = RedPackWinInviteTypeEnum.twoStageReward.name();
         } else if (status == 3) {
            type = RedPackWinInviteTypeEnum.threeStageReward.name();
         }
      }
      try {
         List<RedPackWinInvite> list = redPackWinInviteService.query(pageIndex, pageSize, key, type);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         for (RedPackWinInvite win: list) {
            win.setInviter(userInfoService.selectByPKey(win.getUid()));
            win.setInvitee(userInfoService.selectByPKey(win.getTeamUid()));
         }
         long count = redPackWinInviteService.count(key, type);
         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();
      }
   }
}
package com.yeshi.fanli.controller.admin.redpack;
import java.io.PrintWriter;
import java.util.List;
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.redpack.RedPackDetail;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum;
import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
import com.yeshi.fanli.service.inter.redpack.RedPackDetailService;
import com.yeshi.fanli.service.inter.redpack.RedPackExchangeService;
import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.vo.redpack.RedPackBalanceVO;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/redpack/record")
public class RedPackRecordAdminController {
   @Resource
   private RedPackExchangeService redPackExchangeService;
   @Resource
   private RedPackBalanceService redPackBalanceService;
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private RedPackDetailService redPackDetailService;
   @Resource
   private RedPackWinInviteService redPackWinInviteService;
   /**
    * 用户红包记录查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param state 状态:
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
                 Integer order, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<RedPackBalanceVO> list = redPackBalanceService.query((pageIndex - 1) * pageSize, pageSize, key, state, order);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         for (RedPackBalanceVO vo: list) {
            Long id = vo.getId();
            vo.setTodayWin(redPackDetailService.countWinMoneyByDate(id, 1));
            vo.setTheMonthWin(redPackDetailService.countWinMoneyByDate(id, 3));
            vo.setTodayreduce(redPackDetailService.countReduceMoneyByDate(id, 1));
            vo.setTheMonthreduce(redPackDetailService.countReduceMoneyByDate(id, 3));
            vo.setTotalreduce(redPackDetailService.countReduceMoneyByDate(id, 0));
         }
         long count = redPackBalanceService.count(key, state);
         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 pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param type 类型:1赠送 2使用 3体现  4扣除
    * @param out
    */
   @RequestMapping(value = "queryDetail")
   public void queryDetail(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Long uid, Integer type,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<RedPackDetail> list = redPackDetailService.query((pageIndex - 1) * pageSize, pageSize, key, uid, type);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         if (type != null && type == 4) {
            for (RedPackDetail redPackDetail: list) {
               redPackDetail.setBalance(redPackBalanceService.getBalance(redPackDetail.getUid()));
            }
         }
         long count = redPackDetailService.count(key, uid, type);
         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 pageIndex
    * @param pageSize
    * @param key 搜索:暂只提供uid
    * @param type 类型:1赠送 2使用 3体现  4扣除
    * @param out
    */
   @RequestMapping(value = "queryInviteWin")
   public void queryInviteWin(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer status,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      String type = null;
      if (status != null) {
         if (status == 0) {
            type = RedPackWinInviteTypeEnum.zeroStageReward.name();
         } else if (status == 1) {
            type = RedPackWinInviteTypeEnum.oneStageReward.name();
         } else if (status == 2) {
            type = RedPackWinInviteTypeEnum.twoStageReward.name();
         } else if (status == 3) {
            type = RedPackWinInviteTypeEnum.threeStageReward.name();
         }
      }
      try {
         List<RedPackWinInvite> list = redPackWinInviteService.query(pageIndex, pageSize, key, type);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
            return;
         }
         for (RedPackWinInvite win: list) {
            win.setInviter(userInfoService.selectByPKey(win.getUid()));
            win.setInvitee(userInfoService.selectByPKey(win.getTeamUid()));
         }
         long count = redPackWinInviteService.count(key, type);
         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();
      }
   }
}