yujian
2019-09-03 2ddf5b8a1290123e2d1c05bcc851ec35cd217afc
fanli/src/main/java/com/yeshi/fanli/controller/admin/QualityFactoryAdminController.java
@@ -11,11 +11,10 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -26,8 +25,7 @@
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.QualityFactoryException;
import com.yeshi.fanli.service.AdminUserService;
import com.yeshi.fanli.exception.goods.quality.QualityFactoryException;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.LabelGoodsService;
import com.yeshi.fanli.service.inter.lable.LabelService;
@@ -40,6 +38,9 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.quality.QualityFactoryVO;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/qualityFactory")
@@ -57,11 +58,6 @@
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
   @Resource
   private AdminUserService adminUserService;
   public static final int SALES_ASC = 1;
   public static final int SALES_DESC = 2;
@@ -71,55 +67,9 @@
   public static final int TKRATE_ASC = 5;
   public static final int TKRATE_DESC = 6;
   public static final int PROPOR_ASC = 7;
   public static final int PROPOR_DESC = 8;
   /**
    * 批量添加标签 --- 淘宝
    *
    * @param callback
    * @param label
    * @param request
    * @param out
    */
   @RequestMapping(value = "addBatch")
   public void addBatch(String callback, String auctionIds, String lableNames, HttpServletRequest request, PrintWriter out) {
      try {
         // 获取当前操作用户
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
         if (admin == null) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。")));
            return;
         }
         if (StringUtil.isNullOrEmpty(auctionIds)) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择正确的商品入库")));
            return;
         }
         Gson gson = new Gson();
         List<Long> auctionIdList = gson.fromJson(auctionIds, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (auctionIdList == null || auctionIdList.size() == 0) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择正确的商品入库")));
            return;
         }
         qualityFactoryService.addBatch(auctionIdList,lableNames, admin);
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("添加成功")));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
   }
   /**
    * 保存修改精品库商品关联信息
@@ -130,7 +80,8 @@
    * @param out
    */
   @RequestMapping(value = "saveModify")
   public void saveModify(String callback, QualityFactory selectionGoods, HttpServletRequest request, PrintWriter out) {
   public void saveModify(String callback, QualityFactory selectionGoods, HttpServletRequest request,
         PrintWriter out) {
      try {
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
@@ -200,21 +151,17 @@
   @RequestMapping(value = "removeGoods")
   public void removeGoods(String callback, String ids, PrintWriter out) {
      try {
         Gson gson = new Gson();
         List<String> goodsIds = gson.fromJson(ids, new TypeToken<ArrayList<String>>() {}.getType());
         List<Long> goodsIds = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (goodsIds == null || goodsIds.size() == 0) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未检测到移除商品数据")));
         } else {
            // 商品移除精品库
            qualityFactoryService.deleteByGoodsId(goodsIds);
            // 清理商品所有标签
            labelGoodsService.deleteByGoodsId(goodsIds);
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("移除成功")));
            return;
         }
         qualityFactoryService.deleteBatchByTaoBaoGoodsId(goodsIds);
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("移除成功")));
      } catch (Exception e) {
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作失败")));
         e.printStackTrace();
@@ -223,44 +170,13 @@
   }
   /**
    * 查询
    * 
    * @param callback
    * @param pageIndex
    * @param key
    *            搜索
    * @param totalSales
    *            销售量
    * @param price
    *            价格
    * @param tkRate
    *            佣金比例
    * @param goodsSource
    * @param days
    * @param startZkPrice
    * @param endZkPrice
    * @param startBiz30day
    * @param endBiz30day
    * @param startWeight
    * @param endWeight
    * @param startTkRate
    * @param endTkRate
    * @param startAmount
    * @param endAmount
    * @param hasCoupon
    * @param freeShipment
    * @param isPrepay
    * @param payRate30
    * @param goodRate
    * @param rfdRate
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex,Integer pageSize, String key, Integer sort, Integer goodsSource,
         Integer days, Integer startZkPrice, Integer endZkPrice, Integer startBiz30day,
         Integer endBiz30day, Integer startWeight, Integer endWeight, Integer startTkRate,
         Integer endTkRate, Integer startAmount, Integer endAmount, Integer hasCoupon,
         Integer freeShipment, Integer isPrepay, Integer payRate30, Integer goodRate, Integer rfdRate,
         Integer startPropor, Integer endPropor,Long gcid, Integer keyType, PrintWriter out) {
   public void query(String callback, Integer pageIndex, Integer pageSize, Integer sort,
         QualityFactoryVO qualityFactoryVO, PrintWriter out) {
      try {
         if (pageSize == null)
@@ -297,19 +213,22 @@
            case PROPOR_ASC:
               propor = 1;
               break;
            case PROPOR_DESC:
            case PROPOR_DESC:
               propor = 2;
               break;
            default:
               break;
            }
         }
         List<QualityFactory> selectionList = qualityFactoryService.query((pageIndex - 1) * pageSize, pageSize, key, totalSales,
               price, tkRate, propor, goodsSource, days, startZkPrice, endZkPrice, startBiz30day, endBiz30day,
               startWeight, endWeight, startTkRate, endTkRate, startAmount, endAmount, hasCoupon,
               freeShipment, isPrepay, payRate30, goodRate, rfdRate, startPropor,  endPropor, gcid, keyType);
         qualityFactoryVO.setPrice(price);
         qualityFactoryVO.setTkRate(tkRate);
         qualityFactoryVO.setTotalSales(totalSales);
         qualityFactoryVO.setPropor(propor);
         qualityFactoryVO.setStart((pageIndex - 1) * pageSize);
         qualityFactoryVO.setCount(pageSize);
         List<QualityFactory> selectionList = qualityFactoryService.query(qualityFactoryVO);
         /* 暂无数据显示 */
         if (selectionList == null || selectionList.size() == 0) {
@@ -319,10 +238,7 @@
         /* 有数据:处理返回格式 */
         long count = qualityFactoryService.queryCount(key, goodsSource, days, startZkPrice, endZkPrice, startBiz30day,
               endBiz30day, startWeight, endWeight, startTkRate, endTkRate, startAmount,
               endAmount, hasCoupon, freeShipment, isPrepay, payRate30, goodRate, rfdRate,
               startPropor, endPropor, gcid, keyType);
         long count = qualityFactoryService.queryCount(qualityFactoryVO);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
@@ -330,41 +246,46 @@
         List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
         /*  验证网络: 获取商品链接 图片链接   */
         /* 验证网络: 获取商品链接 图片链接 */
         List<TaoBaoGoodsBrief> goodsBriefList = new ArrayList<TaoBaoGoodsBrief>();
         StringBuffer idBuf = new StringBuffer();
         StringBuffer auctionIdBuf = new StringBuffer();
         int j = 0;
         for (int i = 0; i < selectionList.size(); i++ ) {
         for (int i = 0; i < selectionList.size(); i++) {
            QualityFactory selectionGoods = selectionList.get(i);
            TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
            if (taoBaoGoodsBrief == null)
               continue; // 为空结束本次循环
            Long id = taoBaoGoodsBrief.getId();
            idBuf.append(id + ",");
            Long auctionId = taoBaoGoodsBrief.getAuctionId();
            if (auctionId != null) {
               j++;
               auctionIdBuf.append(auctionId + ",");
            }
            if (selectionList.size() <= 40) {
               // 小于40个参数
               if (i == selectionList.size()-1 ){
               if (i == selectionList.size() - 1) {
                  if (auctionIdBuf != null && auctionIdBuf.length() > 0) {
                     String auctionIds = auctionIdBuf.toString();
                     String ids = auctionIds.substring(0, auctionIds.length() -1);
                     List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                     String ids = auctionIds.substring(0, auctionIds.length() - 1);
                     List<TaoBaoGoodsBrief> list = null;
                     try {
                        list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                     } catch (Exception e) {
                        e.printStackTrace();
                     }
                     if (list != null && list.size() > 0) {
                        goodsBriefList.addAll(list);
                     }
                     auctionIdBuf = new StringBuffer();
                  }
               }
@@ -372,47 +293,68 @@
               if (j == 40) {
                  // 大于40参数
                  String auctionIds = auctionIdBuf.toString();
                  String ids = auctionIds.substring(0, auctionIds.length() -1);
                  List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  String ids = auctionIds.substring(0, auctionIds.length() - 1);
                  List<TaoBaoGoodsBrief> list = null;
                  try {
                     list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  } catch (Exception e) {
                     e.printStackTrace();
                  }
                  if (list != null && list.size() > 0) {
                     goodsBriefList.addAll(list);
                  }
                  j= 0;
                  j = 0;
                  auctionIdBuf = new StringBuffer();
               } else if (i == selectionList.size()-1 ){
               } else if (i == selectionList.size() - 1) {
                  // 最后一个
                  String auctionIds = auctionIdBuf.toString();
                  String ids = auctionIds.substring(0, auctionIds.length() -1);
                  List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  String ids = auctionIds.substring(0, auctionIds.length() - 1);
                  List<TaoBaoGoodsBrief> list = null;
                  try {
                     list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  } catch (Exception e) {
                     e.printStackTrace();
                  }
                  if (list != null && list.size() > 0) {
                     goodsBriefList.addAll(list);
                  }
                  auctionIdBuf = new StringBuffer();
               }
            }
         }
         for (QualityFactory selectionGoods : selectionList) {
            TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
            if (taoBaoGoodsBrief == null)
               continue; // 为空结束本次循环
            // 设置图片大小
            taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize220Img(taoBaoGoodsBrief.getPictUrl()));
            String auctionUrl = taoBaoGoodsBrief.getAuctionUrl();
            if (auctionUrl != null && auctionUrl.trim().length() > 0 && auctionUrl.contains("id=null")) {
               auctionUrl = auctionUrl.replace("id=null", "id=" + taoBaoGoodsBrief.getAuctionId());
               taoBaoGoodsBrief.setAuctionUrl(auctionUrl);
            }
            Map<String, Object> map = new HashMap<String, Object>();
            BoutiqueAutoRule boutiqueAutoRule = selectionGoods.getBoutiqueAutoRule();
            if (boutiqueAutoRule == null) {
               boutiqueAutoRule = new BoutiqueAutoRule();
               selectionGoods.setBoutiqueAutoRule(boutiqueAutoRule);
            }
            String reslutSource = "";
            Integer gsSource = selectionGoods.getGoodsSource();
            if (QualityFactory.SOURCE_TAOBAO == gsSource ) {
            if (QualityFactory.SOURCE_TAOBAO == gsSource) {
               reslutSource = "淘宝";
            } else if (QualityFactory.SOURCE_TAOBAO_MATERIAL == gsSource) {
               reslutSource = "淘宝推荐";
@@ -427,10 +369,9 @@
            } else if (QualityFactory.SOURCE_OTHER == gsSource) {
               reslutSource = "商务合作";
            }
            map.put("goodsSource", reslutSource);
            map.put("selectionGoods", selectionGoods);
            /* 商品销售状态: 0 在售 1停售 */
@@ -438,17 +379,16 @@
            Long auctionId = taoBaoGoodsBrief.getAuctionId();
            if (auctionId != null) {
               if (goodsBriefList != null && goodsBriefList.size() > 0) {
                  for (TaoBaoGoodsBrief tb :goodsBriefList) {
                  for (TaoBaoGoodsBrief tb : goodsBriefList) {
                     Long auctionIdTB = tb.getAuctionId();
                     if (auctionId.equals(auctionIdTB)) {
                        saleStae = 0;
                     }
                  }
               }
               }
            }
            map.put("saleStae", saleStae);
            /* 1 定向计划 2 营销返利 、高佣 3 普佣 */
            Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh();
@@ -473,14 +413,12 @@
                  map.put("yongjinType", 3);
               }
            }
            // TODO /* 券后价--计算 */
            /* 券后价--计算 */
            BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
            map.put("couponPrice", couponPrice);
            // TODO /* 预计收益: 公司、用户 */
            /* 预计收益: 公司、用户 */
            BigDecimal tkRateBrief = taoBaoGoodsBrief.getTkRate();
            BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
            BigDecimal profit = MoneyBigDecimalUtil.mul(tkRateBrief, zkPrice);
@@ -488,24 +426,22 @@
            BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100"));
            // 预计收益
            map.put("estimateProfit", estimateProfit);
            BigDecimal couponAmount = taoBaoGoodsBrief.getCouponAmount();
            if (couponAmount != null && zkPrice != null) {
               BigDecimal propors = couponAmount.divide(zkPrice ,10 ,BigDecimal.ROUND_HALF_DOWN);
               BigDecimal propors = couponAmount.divide(zkPrice, 10, BigDecimal.ROUND_HALF_DOWN);
               BigDecimal resultPropor = MoneyBigDecimalUtil.mul(propors, new BigDecimal("100"));
               map.put("propor", resultPropor);
            } else {
               map.put("propor", 0);
            }
            /* 商品标签列表 */
            Long id = taoBaoGoodsBrief.getId();
            int totalLabels = labelGoodsService.getCountQueryByGoodsId(id);
            //List<LabelGoods> labelList = labelService.getByGoodsId(id);
            // List<LabelGoods> labelList = labelService.getByGoodsId(id);
            map.put("totalLabels", totalLabels);
            listmap.add(map);
@@ -530,7 +466,8 @@
    * 获取商品信息 以及对应标签列表;此商品标签候选项
    * 
    * @param callback
    * @param id 精选id
    * @param id
    *            精选id
    * @param request
    * @param out
    */
@@ -551,7 +488,7 @@
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("该商品已不在")));
            return;
         }
         // 商品图片
         List<String> imgList = TaoBaoUtil.getTbImg(taobao.getAuctionId() + "");
@@ -572,7 +509,6 @@
   }
   /**
    * 单个商品贴上标签
    * 
@@ -588,10 +524,11 @@
      try {
         // 获取当前操作用户
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
//         if (admin == null) {
//            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。")));
//            return;
//         }
         // if (admin == null) {
         // out.print(JsonUtil.loadJSONP(callback,
         // JsonUtil.loadFalseResult("当前账户失效,请重新登陆。")));
         // return;
         // }
         if (id == null || labId == null) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确的参数")));
@@ -634,7 +571,6 @@
         }
      } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -663,7 +599,6 @@
         }
      } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -683,11 +618,12 @@
      try {
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
//
//         if (admin == null) {
//            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户已失效,请重新登陆")));
//            return;
//         }
         //
         // if (admin == null) {
         // out.print(JsonUtil.loadJSONP(callback,
         // JsonUtil.loadFalseResult("当前账户已失效,请重新登陆")));
         // return;
         // }
         Long id = selectionGoods.getId();
         QualityFactory resultObj = qualityFactoryService.selectByPrimaryKey(id);
@@ -707,10 +643,8 @@
               out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("修改失败")));
            }
         }
      } catch (QualityFactoryException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -718,32 +652,32 @@
   }
   @RequestMapping(value = "queryMyLabels")
   public void queryMyLabels(String callback, Integer pageIndex, Integer pageSize,
         String ids, HttpServletRequest request, PrintWriter out) {
   public void queryMyLabels(String callback, Integer pageIndex, Integer pageSize, String ids,
         HttpServletRequest request, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(ids)) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:101")));
            return;
         }
         Gson gson = new Gson();
         List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType());
         List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (idList == null || idList.size() == 0) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:102")));
            return;
         }
         if (idList.size() > 1) {
            // 只处理单个商品
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:103")));
            return;
         }
         Long id = idList.get(0);
         if (id == null) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:104")));
            return;
@@ -756,21 +690,20 @@
            pageSize = Constant.PAGE_SIZE;
         // 商品标签列表
         List<LabelGoods> labelList = labelGoodsService.queryByGoodsId((pageIndex - 1) * pageSize,
               pageSize, id);
         List<LabelGoods> labelList = labelGoodsService.queryByGoodsId((pageIndex - 1) * pageSize, pageSize, id);
         if (labelList == null || labelList.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
            return;
         }
         int count = labelGoodsService.getCountQueryByGoodsId(id);
         int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
         GsonBuilder gsonBuilder = new GsonBuilder();
         gsonBuilder.serializeNulls();
         gsonBuilder.serializeNulls();
         Gson rgson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
         JSONObject data = new JSONObject();
@@ -780,7 +713,6 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
@@ -798,8 +730,8 @@
    * @param out
    */
   @RequestMapping(value = "queryLabel")
   public void queryLabel(String callback, Integer pageIndex, Integer pageSize, String key,
         String ids, HttpServletRequest request, PrintWriter out) {
   public void queryLabel(String callback, Integer pageIndex, Integer pageSize, String key, String ids,
         HttpServletRequest request, PrintWriter out) {
      try {
@@ -807,29 +739,30 @@
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:101")));
            return;
         }
         Gson gson = new Gson();
         List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType());
         List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (idList == null || idList.size() == 0) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:102")));
            return;
         }
         int count = 0;
         List<Label> labelList = null;
         if (pageIndex == null)
            pageIndex = 1;
         if (pageSize == null)
            pageSize = Constant.PAGE_SIZE;
         if (idList.size() > 1) {
            // 多个商品 查询所有标签
             labelList = labelService.query((pageIndex - 1) * pageSize, pageSize, key, null, null,null);
             count = labelService.getQueryCount(key, null, null);
            labelList = labelService.query((pageIndex - 1) * pageSize, pageSize, key, null, null, null);
            count = labelService.getQueryCount(key, null, null);
         } else {
            // 单个商品
            Long id = idList.get(0);
@@ -842,12 +775,12 @@
            count = labelService.getCountQueryGoodsCandidate(key, id);
         }
         if (labelList == null || labelList.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
            return;
         }
         int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -862,7 +795,6 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
@@ -878,16 +810,10 @@
    * @param out
    */
   @RequestMapping(value = "addBatchcGoodsLabel")
   public void addBatchcGoodsLabel(String callback, String labIds, Long id, HttpServletRequest request, PrintWriter out) {
   public void addBatchcGoodsLabel(String callback, String labIds, Long id, HttpServletRequest request,
         PrintWriter out) {
      try {
         // 获取当前操作用户
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
//         if (admin == null) {
//            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。")));
//            return;
//         }
         if (StringUtil.isNullOrEmpty(labIds)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未选择标签"));
            return;
@@ -908,6 +834,8 @@
         TaoBaoGoodsBrief taoBaoGoodsBrief = taoBaoGoodsBriefService.selectByPrimaryKey(id);
         // 获取当前操作用户
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
         labelGoodsService.addBatchByLabId(taoBaoGoodsBrief, labIdList, admin);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
@@ -917,14 +845,14 @@
         e.printStackTrace();
      }
   }
   @RequestMapping(value="updateGoodsBrief")
   public void updateGoodsBrief(String callback, TaoBaoGoodsBrief tb, PrintWriter out){
   @RequestMapping(value = "updateGoodsBrief")
   public void updateGoodsBrief(String callback, TaoBaoGoodsBrief tb, PrintWriter out) {
      try {
         // 实际未精选ID
         Long id = tb.getId();
         QualityFactory resultObj = qualityFactoryService.selectByPrimaryKey(id);
         if (resultObj == null) {
@@ -937,66 +865,72 @@
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("该商品已不在")));
            return;
         }
         String title = tb.getTitle();
         String pictUrl = tb.getPictUrl();
         if (!StringUtil.isNullOrEmpty(title))
         if (!StringUtil.isNullOrEmpty(title))
            taobao.setTitle(title);
         if (!StringUtil.isNullOrEmpty(pictUrl))
         if (!StringUtil.isNullOrEmpty(pictUrl))
            taobao.setPictUrl(pictUrl);
         if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite()))
            taobao.setPictUrlWhite(tb.getPictUrlWhite());
         // 更新商品
         taoBaoGoodsUpdateService.getUpdateTaoBaoGoodsBrief(taobao);
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("修改成功")));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("修改失败")));
      }
   }
   /**
    * 批量添加标签 --- 精品库(随机权重)
    *
    * @param callback
    * @param request
    * @param out @param         权重范围 大值
    * @param         佣金范围 小值
    * @param out
    * @param 权重范围
    *            大值
    * @param 佣金范围
    *            小值
    */
   @RequestMapping(value = "setWeightBatch")
   public void setWeightBatch(String callback,String ids, Integer weight,Integer weightSmall,
         Integer weightLarge, HttpServletRequest request, PrintWriter out) {
   public void setWeightBatch(String callback, String ids, Integer weight, Integer weightSmall, Integer weightLarge,
         HttpServletRequest request, PrintWriter out) {
      try {
          if (StringUtil.isNullOrEmpty(ids)) {
             out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未选择需操作的商品")));
             return;
          }
          Gson gson = new Gson();
          List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType());
          if (idList == null || idList.size() == 0) {
             out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择需操作的商品")));
             return;
          }
            // 获取当前操作用户
          AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
          qualityFactoryService.setWeightBatch(idList, admin, weight, weightSmall, weightLarge);
          out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功")));
      } catch ( Exception e) {
      try {
         if (StringUtil.isNullOrEmpty(ids)) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未选择需操作的商品")));
            return;
         }
         Gson gson = new Gson();
         List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (idList == null || idList.size() == 0) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择需操作的商品")));
            return;
         }
         // 获取当前操作用户
         AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
         qualityFactoryService.setWeightBatch(idList, admin, weight, weightSmall, weightLarge);
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功")));
      } catch (Exception e) {
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
         e.printStackTrace();
      }
   }
}