admin
2020-07-14 eec7e789a87863c25d92c10ad5dfc22ad80c448d
fanli/src/main/java/com/yeshi/fanli/controller/admin/PushCouponController.java
@@ -2,10 +2,13 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -15,8 +18,8 @@
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.entity.push.PushCoupon;
import com.yeshi.fanli.exception.PushException;
import com.yeshi.fanli.exception.push.PushCouponException;
import com.yeshi.fanli.exception.push.PushException;
import com.yeshi.fanli.service.inter.push.PushCouponRecordService;
import com.yeshi.fanli.service.inter.push.PushCouponService;
import com.yeshi.fanli.tag.PageEntity;
@@ -44,15 +47,16 @@
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(String callback, PushCoupon pushCoupon, PrintWriter out) {
   public void save(AdminAcceptData acceptData,String callback, PushCoupon pushCoupon,  PrintWriter out) {
      
      try {
         pushCouponService.save(pushCoupon);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("发放成功"));
      } catch (PushCouponException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("发送失败"));
         e.printStackTrace();
      }
   }
@@ -65,7 +69,7 @@
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(String callback, String idArray, PrintWriter out) {
   public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
@@ -99,7 +103,7 @@
    * @param out
    */
   @RequestMapping(value = "getPushInfo")
   public void getPushInfo(String callback, Long id, PrintWriter out) {
   public void getPushInfo(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      if (id == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("参数不能为空"));
@@ -140,7 +144,7 @@
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) {
   public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
@@ -152,7 +156,7 @@
      try {
         List<PushCoupon> list = pushCouponService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state);
         List<PushCoupon> list = pushCouponService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state,acceptData.getSystem());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
@@ -169,10 +173,15 @@
            long receivedCount = pushCouponRecordService.countByPushId(pushCoupon.getId());
            pushCouponVO.setReceivedCount(receivedCount);
            
            convertVersionList(pushCouponVO);
            Date createTime = pushCouponVO.getCreateTime();
            pushCouponVO.setPushTime(createTime);
            listVO.add(pushCouponVO);
         }
         long count = pushCouponService.countQuery(key, state);
         long count = pushCouponService.countQuery(key, state,acceptData.getSystem());
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -196,12 +205,11 @@
   
   /**
    * 推送
    * @param id 推送id
    * @param out
    * @throws Exception
    */
   @RequestMapping(value = "push")
   public void push(String callback, String idArray, PrintWriter out) throws Exception {
   public void push(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) throws Exception {
      if (idArray == null || idArray.trim().length() == 0) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("传递参数不能为空"));
@@ -233,4 +241,82 @@
      }
   }
   /**
    * 版本转换为list
    */
   public void convertVersionList(PushCouponVO pushCouponVO) {
     String versions = pushCouponVO.getVersions();
     List<String> listIOS = null;
     List<String> listAndroid = null;
     if (versions == null || versions.trim().length() == 0) {
        listIOS = new ArrayList<String>();
        listAndroid = new ArrayList<String>();
     } else {
        JSONObject json = JSONObject.fromObject(versions);
         String versionsIOS = json.getString("IOS");
         if (versionsIOS != null && versionsIOS.trim().length() > 0) {
            listIOS = Arrays.asList(versionsIOS.split(","));
         }
         String versionsAndroid  = json.getString("Android");
         if (versionsAndroid != null && versionsAndroid.trim().length() > 0) {
            listAndroid = Arrays.asList(versionsAndroid.split(","));
         }
     }
     pushCouponVO.setListIOS(listIOS);
     pushCouponVO.setListAndroid(listAndroid);
   }
   /**
    * 转换json
    */
   public void convertVersion(PushCoupon pushCoupon, String arrayIOS, String arrayAndroid) {
      List<String> listIOS = convertList(arrayIOS);
      List<String> listAndroid = convertList(arrayAndroid);
      if ((listIOS == null || listIOS.size() == 0) && (listAndroid == null || listAndroid.size() == 0)) {
         return;
      }
      JSONObject json =  new JSONObject();
      if (listIOS != null && listIOS.size() > 0) {
         String versions = "";
         for (String version: listIOS) {
            versions += version + ",";
         }
         if (versions.endsWith(",")) {
            versions = versions.substring(0, versions.length() - 1);
         }
         json.put("IOS", versions);
      }
      if (listAndroid != null && listAndroid.size() > 0) {
         String versions = "";
         for (String version: listAndroid) {
            versions += version + ",";
         }
         if (versions.endsWith(",")) {
            versions = versions.substring(0, versions.length() - 1);
         }
         json.put("Android", versions);
      }
      pushCoupon.setVersions(json.toString());
   }
   /**
    * 版本处理
    * @param array
    * @return
    */
   public List<String> convertList (String array) {
      Gson gson = new Gson();
      List<String> list = null;
      if (array != null && array.trim().length() > 0) {
         list = gson.fromJson(array, new TypeToken<ArrayList<String>>() {}.getType());
      }
      return list;
   }
}