admin
2019-06-14 1e92eff67b997263ecefa255c63eb6641c47b57f
fanli/src/main/java/com/yeshi/fanli/controller/admin/QualityFactoryAdminController.java
@@ -11,10 +11,9 @@
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -26,11 +25,11 @@
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.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.LabelGoodsService;
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -38,7 +37,9 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.vo.quality.QualityFactoryVO;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/qualityFactory")
@@ -55,8 +56,7 @@
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private AdminUserService adminUserService;
   private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
   
   public static final int SALES_ASC = 1;
@@ -72,50 +72,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("操作异常")));
      }
   }
   /**
    * 保存修改精品库商品关联信息
@@ -196,21 +152,16 @@
   @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();
@@ -219,44 +170,12 @@
   }
   /**
    *
    * @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)
@@ -301,11 +220,14 @@
            }
         }
         
         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((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);
         List<QualityFactory> selectionList = qualityFactoryService.query(qualityFactoryVO);
         /* 暂无数据显示 */
         if (selectionList == null || selectionList.size() == 0) {
@@ -315,10 +237,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);
@@ -356,7 +275,13 @@
                  if (auctionIdBuf != null && auctionIdBuf.length() > 0) {
                     String auctionIds = auctionIdBuf.toString();
                     String ids = auctionIds.substring(0, auctionIds.length() -1);
                     List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                     List<TaoBaoGoodsBrief> list = null;
                     try {
                        list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                     } catch (Exception e) {
                        e.printStackTrace();
                     }
                     if (list != null && list.size() > 0) {
                        goodsBriefList.addAll(list);
                     }
@@ -369,7 +294,13 @@
                  // 大于40参数
                  String auctionIds = auctionIdBuf.toString();
                  String ids = auctionIds.substring(0, auctionIds.length() -1);
                  List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  List<TaoBaoGoodsBrief> list = null;
                  try {
                     list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  } catch (Exception e) {
                     e.printStackTrace();
                  }
                  if (list != null && list.size() > 0) {
                     goodsBriefList.addAll(list);
                  }
@@ -381,7 +312,13 @@
                  // 最后一个
                  String auctionIds = auctionIdBuf.toString();
                  String ids = auctionIds.substring(0, auctionIds.length() -1);
                  List<TaoBaoGoodsBrief> list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  List<TaoBaoGoodsBrief> list = null;
                  try {
                     list = TaoKeApiUtil.getBatchGoodsInfos(ids);
                  } catch (Exception e) {
                     e.printStackTrace();
                  }
                  if (list != null && list.size() > 0) {
                     goodsBriefList.addAll(list);
                  }
@@ -398,6 +335,13 @@
            if (taoBaoGoodsBrief == null)
               continue; // 为空结束本次循环
            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();
@@ -472,11 +416,11 @@
            
            
            
            // 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);
@@ -619,7 +563,7 @@
            lg.setCreatetime(nowTime);
            lg.setTaoBaoGoodsBrief(taoBaoGoodsBrief);
            int insert = labelGoodsService.insert(lg);
            int insert = labelGoodsService.insertSelective(lg);
            if (insert > 0) {
               out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("添加成功")));
            } else {
@@ -630,7 +574,6 @@
         }
      } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -659,7 +602,6 @@
         }
      } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -706,7 +648,6 @@
         
      } catch (QualityFactoryException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
      }
@@ -776,7 +717,6 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
@@ -858,7 +798,6 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
@@ -877,13 +816,6 @@
   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;
@@ -903,13 +835,14 @@
         }
         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("操作成功"));
      } catch (Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
@@ -944,7 +877,11 @@
         if (!StringUtil.isNullOrEmpty(pictUrl)) 
            taobao.setPictUrl(pictUrl);
         
         taoBaoGoodsBriefService.updateByPrimaryKeySelective(taobao);
         if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite()))
            taobao.setPictUrlWhite(tb.getPictUrlWhite());
         // 更新商品
         taoBaoGoodsUpdateService.getUpdateTaoBaoGoodsBrief(taobao);
         
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("修改成功")));