package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; 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 com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.bus.lable.LabelGoods; import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; 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.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import org.yeshi.utils.JsonUtil; @Controller @RequestMapping("admin/new/api/v1/labelGoods") public class LabelGoodsAdminController { @Resource private LabelGoodsService labelGoodsService; @Resource private TaoBaoGoodsBriefService taoBaoGoodsBriefService; @Resource private LabelService labelService; /** * 批量贴标签---精品库 * * @param callback * @param param * @param auctionIds * @param request * @param out */ @RequestMapping(value = "addBatch") public void addBatch(String callback, String lables, String ids, HttpServletRequest request, PrintWriter out) { // 鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); if (admin == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。"))); } else { try { if (StringUtil.isNullOrEmpty(lables)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未填写标签名称"))); } else { Gson gson = new Gson(); List idList = gson.fromJson(ids, new TypeToken>() { }.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择商品"))); } else { String[] arrtitle = lables.split("\\s+"); labelGoodsService.setGoodsLabel(arrtitle, idList, admin); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("保存成功"))); } } } catch (Exception e) { // TODO Auto-generated catch block out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作失败"))); e.printStackTrace(); } } } /** * 批量添加标签 --- 精品库(随机权重) * * @param callback * @param label * @param request * @param out * @param 权重范围 大值 * @param 佣金范围 * 小值 */ @RequestMapping(value = "addBatchRandom") public void addBatchRandom(String callback, String lables, String ids, Integer weight, Integer weightSmall, Integer weightLarge, HttpServletRequest request, PrintWriter out) { // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); if (admin == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。"))); } else { try { if (StringUtil.isNullOrEmpty(lables)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未填写标签名称"))); } else { if (StringUtil.isNullOrEmpty(ids)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未选择需操作的商品"))); } else { Gson gson = new Gson(); List idList = gson.fromJson(ids, new TypeToken>() { }.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择需操作的商品"))); } else { String[] arrtitle = lables.split("\\s+"); labelGoodsService.addBatchRandom(arrtitle, idList, admin, weight, weightSmall, weightLarge); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("添加成功"))); } } } } catch (Exception e) { // TODO Auto-generated catch block out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("添加异常"))); e.printStackTrace(); } } } /** * 批量商品添加标签-关联lableId * * @param callback * @param labIds * @param goodIds * @param request * @param out */ @RequestMapping(value = "batchGoodsAddLables") public void batchGoodsAddLables(String callback, String labIds, String ids, 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(ids)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择需操作的商品")); return; } Gson gson = new Gson(); List goodsIdList = gson.fromJson(ids, new TypeToken>() {}.getType()); if (goodsIdList == null || goodsIdList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择需操作的商品")); return; } if (goodsIdList.size() == 1) { List labIdList = null; if (!StringUtil.isNullOrEmpty(labIds)) { labIdList = gson.fromJson(labIds, new TypeToken>() {}.getType()); } // 单个处理 Long goodsId = goodsIdList.get(0); labelGoodsService.singleGoodsAddLables(goodsId, labIdList, admin); } else { if (StringUtil.isNullOrEmpty(labIds)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择添加的标签")); return; } List labIdList = gson.fromJson(labIds, new TypeToken>() {}.getType()); if (labIdList == null || labIdList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择添加的标签")); return; } // 批量处理 labelGoodsService.batchGoodsAddLables(goodsIdList, labIdList, admin); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功")); } catch (Exception e) { // TODO Auto-generated catch block JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 批量商品添加标签-关联lableId * * @param callback * @param labIds * @param goodIds * @param request * @param out */ @RequestMapping(value = "singleGoodsAddLables") public void singleGoodsAddLables(String callback, String labIds, Long goodsId, HttpServletRequest request, PrintWriter out) { try { // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); if (goodsId == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择需操作的商品")); return; } Gson gson = new Gson(); List labIdList = gson.fromJson(labIds, new TypeToken>() {}.getType()); labelGoodsService.singleGoodsAddLables(goodsId, labIdList, admin); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功")); } catch (Exception e) { // TODO Auto-generated catch block JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } }