admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/controller/admin/shop/BanLiShopGoodsAdminController.java
@@ -1,29 +1,24 @@
package com.yeshi.fanli.controller.admin.shop;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.entity.shop.BanLiShopGoods;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsClass;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsException;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetException;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetPayException;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsClassService;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
@@ -37,6 +32,9 @@
   @Resource
   private BanLiShopGoodsService banLiShopGoodsService;
   @Resource
   private BanLiShopGoodsClassService banLiShopGoodsClassService;
   /**
    * 保存信息
@@ -48,50 +46,21 @@
   @RequestMapping(value = "save")
   public void save(String callback, BanLiShopGoods record, HttpServletRequest request, PrintWriter out) {
      try {
         String picture = null;
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
            MultipartFile file = fileRequest.getFile("file");
            if (file != null)
               picture = uploadPicture(file);
            banLiShopGoodsService.saveObject(fileRequest.getFile("file"),fileRequest.getFile("file2"), record);
         } else {
            banLiShopGoodsService.saveObject(null, null,record);
         }
         record.setPicture(picture);
         banLiShopGoodsService.addGoods(record);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BanLiShopGoodsException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (BanLiShopGoodsSetException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (BanLiShopGoodsSetPayException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         e.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
      }
   }
   /**
    * 上传图片
    *
    * @param file
    * @return
    * @throws Exception
    */
   public String uploadPicture(MultipartFile file) throws BanLiShopGoodsException {
      // 文件解析
      InputStream inputStream;
      try {
         inputStream = file.getInputStream();
      } catch (IOException e) {
         e.printStackTrace();
         throw new BanLiShopGoodsException(1, "图片获取失败");
      }
      String contentType = file.getContentType();
      String type = contentType.substring(contentType.indexOf("/") + 1);
      // 文件路径
      String filePath = "/img/HomeNavbar/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
      // 执行上传
      return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
   }
   /**
    * 查询
@@ -116,6 +85,13 @@
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         for (BanLiShopGoods shopGoods: list) {
            BanLiShopGoodsClass goodsClass = shopGoods.getGoodsClass();
            if (goodsClass != null) {
               shopGoods.setGoodsClass(banLiShopGoodsClassService.selectByPrimaryKey(goodsClass.getId()));
            }
         }
         long count = banLiShopGoodsService.countGoods(key, state);
@@ -167,4 +143,25 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
      }
   }
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchState")
   public void switchState(String callback, Long id, PrintWriter out) {
      try {
         banLiShopGoodsService.switchState(id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BanLiShopGoodsException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
}