admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/redpack/RedPackForbidAdminController2.java
@@ -1,183 +1,183 @@
package com.yeshi.fanli.controller.admin.redpack;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.DateUtil;
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.entity.common.AdminUser;
import com.yeshi.fanli.entity.redpack.RedPackForbidRecord;
import com.yeshi.fanli.exception.redpack.RedPackForbidException;
import com.yeshi.fanli.service.inter.redpack.RedPackForbidRecordService;
import com.yeshi.fanli.service.inter.redpack.RedPackForbidService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/redpack/forbid")
public class RedPackForbidAdminController2 {
   @Resource
   private RedPackForbidService redPackForbidService;
   @Resource
   private RedPackForbidRecordService redPackForbidRecordService;
   /**
    * 封禁用户
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(AdminAcceptData acceptData, String callback, RedPackForbidRecord record, HttpServletRequest request, PrintWriter out) {
      try {
         /* 检验是否登陆 */
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
         if (admin == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("当前登录已失效,请重新登录。"));
            return;
         }
         record.setAdminId(admin.getId());
         redPackForbidService.addForbid(record);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (RedPackForbidException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
   /**
    * 扣除红包
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "deduct")
   public void deduct(AdminAcceptData acceptData,String callback, RedPackForbidRecord record, HttpServletRequest request, PrintWriter out) {
      try {
         redPackForbidService.deduct(record);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (RedPackForbidException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (DuplicateKeyException e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请一分钟后再试"));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
    /**
    * 删除
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         redPackForbidService.delete(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除数据"));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
      }
   }
   /**
    * 查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key  模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer type, PrintWriter out) {
      try {
         if (pageIndex == null || pageIndex < 1)
            pageIndex = 1;
         if (pageSize == null || pageSize < 1)
            pageSize = Constant.PAGE_SIZE;
         List<RedPackForbidRecord> list = null;
         if (type == null || type == 1) {
            list = redPackForbidRecordService.query(pageIndex, pageSize, key);
         } else {
            list = redPackForbidRecordService.queryForbid(pageIndex, pageSize, key);
         }
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         Date date = new Date();
         for (RedPackForbidRecord record: list) {
            if (record.getType() == RedPackForbidRecord.TYPE_HUNDRED_YEAR) {
               record.setSurplusTime("100年");
            } else {
               int daysBetween = DateUtil.daysBetween(date, record.getEndTime());
               if (daysBetween < 0)
                  daysBetween = 0;
               record.setSurplusTime(daysBetween + "天");
            }
         }
         long count = redPackForbidRecordService.count(key);
         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) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
}
package com.yeshi.fanli.controller.admin.redpack;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.DateUtil;
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.entity.common.AdminUser;
import com.yeshi.fanli.entity.redpack.RedPackForbidRecord;
import com.yeshi.fanli.exception.redpack.RedPackForbidException;
import com.yeshi.fanli.service.inter.redpack.RedPackForbidRecordService;
import com.yeshi.fanli.service.inter.redpack.RedPackForbidService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/redpack/forbid")
public class RedPackForbidAdminController2 {
   @Resource
   private RedPackForbidService redPackForbidService;
   @Resource
   private RedPackForbidRecordService redPackForbidRecordService;
   /**
    * 封禁用户
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(AdminAcceptData acceptData, String callback, RedPackForbidRecord record, HttpServletRequest request, PrintWriter out) {
      try {
         /* 检验是否登陆 */
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
         if (admin == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("当前登录已失效,请重新登录。"));
            return;
         }
         record.setAdminId(admin.getId());
         redPackForbidService.addForbid(record);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (RedPackForbidException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
   /**
    * 扣除红包
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "deduct")
   public void deduct(AdminAcceptData acceptData,String callback, RedPackForbidRecord record, HttpServletRequest request, PrintWriter out) {
      try {
         redPackForbidService.deduct(record);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (RedPackForbidException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (DuplicateKeyException e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请一分钟后再试"));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
    /**
    * 删除
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         redPackForbidService.delete(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除数据"));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
      }
   }
   /**
    * 查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key  模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer type, PrintWriter out) {
      try {
         if (pageIndex == null || pageIndex < 1)
            pageIndex = 1;
         if (pageSize == null || pageSize < 1)
            pageSize = Constant.PAGE_SIZE;
         List<RedPackForbidRecord> list = null;
         if (type == null || type == 1) {
            list = redPackForbidRecordService.query(pageIndex, pageSize, key);
         } else {
            list = redPackForbidRecordService.queryForbid(pageIndex, pageSize, key);
         }
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         Date date = new Date();
         for (RedPackForbidRecord record: list) {
            if (record.getType() == RedPackForbidRecord.TYPE_HUNDRED_YEAR) {
               record.setSurplusTime("100年");
            } else {
               int daysBetween = DateUtil.daysBetween(date, record.getEndTime());
               if (daysBetween < 0)
                  daysBetween = 0;
               record.setSurplusTime(daysBetween + "天");
            }
         }
         long count = redPackForbidRecordService.count(key);
         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) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
}