package com.yeshi.fanli.controller.admin;
|
|
import java.io.PrintWriter;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
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.MultipartHttpServletRequest;
|
import org.yeshi.utils.JsonUtil;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO;
|
import com.yeshi.fanli.entity.brand.BrandClass;
|
import com.yeshi.fanli.entity.brand.BrandClassShop;
|
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
|
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
|
import com.yeshi.fanli.exception.brand.BrandClassException;
|
import com.yeshi.fanli.exception.brand.BrandClassShopException;
|
import com.yeshi.fanli.service.inter.brand.BrandClassService;
|
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
|
import com.yeshi.fanli.tag.PageEntity;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("admin/new/api/v1/brand")
|
public class BrandShopAdminController {
|
|
@Resource
|
private BrandClassService brandClassService;
|
|
@Resource
|
private BrandClassShopService brandClassShopService;
|
|
/**
|
* 保存信息
|
*
|
* @param callback
|
* @param special
|
* @param out
|
*/
|
@RequestMapping(value = "save")
|
public void save(String callback, BrandClass brandClass, PrintWriter out) {
|
try {
|
brandClassService.saveObject(brandClass);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
} catch (BrandClassException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 修改排序
|
*
|
* @param callback
|
* @param goodsClass
|
* @param out
|
*/
|
@RequestMapping(value = "updateOrder")
|
public void updateOrder(String callback, Long id, Integer moveType, PrintWriter out) {
|
try {
|
brandClassService.updateOrder(id, moveType);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
|
} catch (BrandClassException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 查询
|
*
|
* @param callback
|
* @param pageIndex
|
* @param pageSize
|
* @param key
|
* 模糊查询:说明、标识
|
* @param out
|
*/
|
@RequestMapping(value = "query")
|
public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
|
PrintWriter out) {
|
|
if (pageIndex == null || pageIndex < 1) {
|
pageIndex = 1;
|
}
|
|
if (pageSize == null || pageSize < 1) {
|
pageSize = Constant.PAGE_SIZE;
|
}
|
|
try {
|
List<BrandClass> list = brandClassService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state);
|
|
if (list == null || list.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
long count = brandClassService.countQuery(key, state);
|
|
int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
|
GsonBuilder gsonBuilder = new GsonBuilder();
|
gsonBuilder.serializeNulls();
|
Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
|
|
JSONObject data = new JSONObject();
|
data.put("pe", pe);
|
data.put("result_list", gson.toJson(list));
|
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 删除
|
*
|
* @param callback
|
* @param idArray
|
* @param out
|
*/
|
@RequestMapping(value = "delete")
|
public void delete(String callback, String idArray, PrintWriter out) {
|
|
try {
|
if (StringUtil.isNullOrEmpty(idArray)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
|
return;
|
}
|
Gson gson = new Gson();
|
List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
|
}.getType());
|
|
if (list == null || list.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
|
return;
|
}
|
int count = brandClassService.deleteBatchByPrimaryKey(list);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 筛选列表
|
*
|
* @param callback
|
* @param out
|
*/
|
@RequestMapping(value = "getOptions")
|
public void getOptions(String callback, PrintWriter out) {
|
try {
|
List<BrandClass> list = brandClassService.listEffective();
|
if (list == null || list.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
List<Object> result_list = new ArrayList<Object>();
|
if (list != null && list.size() > 0) {
|
for (BrandClass record : list) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
map.put("key", record.getId());
|
map.put("value", record.getName());
|
result_list.add(map);
|
}
|
}
|
|
JSONObject data = new JSONObject();
|
data.put("result_list", result_list);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 查询
|
*
|
* @param callback
|
* @param pageIndex
|
* @param pageSize
|
* @param key
|
* 模糊查询:说明、标识
|
* @param out
|
*/
|
@RequestMapping(value = "queryTaoBaoShop")
|
public void queryTaoBaoShop(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) {
|
|
if (pageIndex == null || pageIndex < 1) {
|
pageIndex = 1;
|
}
|
|
if (pageSize == null || pageSize < 1) {
|
pageSize = Constant.PAGE_SIZE;
|
}
|
|
try {
|
TaoBaoShopInfoDTO taoBaoShopInfoDTO = TaoKeApiUtil.searchShop(key, pageIndex, pageSize);
|
|
List<TaoBaoShopInfo> listInfo = taoBaoShopInfoDTO.getListInfo();
|
if (listInfo == null || listInfo.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
List<Long> listShopId = new ArrayList<Long>();
|
for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
|
listShopId.add(taoBaoShopInfo.getUserId());
|
}
|
|
// 已存在数据库中
|
List<BrandClassShop> listExist = brandClassShopService.getExistByShopIds(listShopId);
|
|
JSONArray array = new JSONArray();
|
for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
|
String name = "";
|
if (listExist != null && listExist.size() > 0) {
|
Long userId = taoBaoShopInfo.getUserId();
|
for (BrandClassShop brandClassShop : listExist) {
|
TaoBaoShop shop = brandClassShop.getShop();
|
if (shop != null && userId == shop.getId() || userId.equals(shop.getId())) {
|
BrandClass brandClass = brandClassShop.getBrandClass();
|
name = brandClass.getName();
|
}
|
}
|
}
|
|
JSONObject innerData = new JSONObject();
|
innerData.put("cname", name);
|
innerData.put("shopInfo", taoBaoShopInfo);
|
array.add(innerData);
|
}
|
|
JSONObject data = new JSONObject();
|
data.put("pe", taoBaoShopInfoDTO.getPage());
|
data.put("result_list", array);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 添加店铺入库
|
*
|
* @param callback
|
* @param special
|
* @param out
|
*/
|
@RequestMapping(value = "saveShopInfo")
|
public void saveShopInfo(String callback, Long cid, String idArray, PrintWriter out) {
|
try {
|
if (StringUtil.isNullOrEmpty(idArray)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
|
return;
|
}
|
Gson gson = new Gson();
|
List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
|
}.getType());
|
|
String shopIds = brandClassShopService.saveShopInfo(cid, list);
|
if (StringUtil.isNullOrEmpty(shopIds)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
} else {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("以下店铺ID:" + shopIds + ",未添加成功"));
|
}
|
} catch (BrandClassShopException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 查询
|
*
|
* @param callback
|
* @param pageIndex
|
* @param pageSize
|
* @param key
|
* 模糊查询:说明、标识
|
* @param out
|
*/
|
@RequestMapping(value = "queryClassShop")
|
public void queryClassShop(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
|
Integer state, PrintWriter out) {
|
|
if (pageIndex == null || pageIndex < 1) {
|
pageIndex = 1;
|
}
|
|
if (pageSize == null || pageSize < 1) {
|
pageSize = Constant.PAGE_SIZE;
|
}
|
|
try {
|
List<BrandClassShop> list = brandClassShopService.listQuery((pageIndex - 1) * pageSize, pageSize, key, cid,
|
state);
|
|
if (list == null || list.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
long count = brandClassShopService.countQuery(key, cid, state);
|
|
int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
|
GsonBuilder gsonBuilder = new GsonBuilder();
|
gsonBuilder.serializeNulls();
|
Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
|
|
JSONObject data = new JSONObject();
|
data.put("pe", pe);
|
data.put("result_list", gson.toJson(list));
|
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 保存信息
|
*
|
* @param callback
|
* @param special
|
* @param out
|
*/
|
@RequestMapping(value = "saveClassShop")
|
public void saveClassShop(String callback, Long id, Long cid, String shopName, Integer state, Integer top,
|
String key, HttpServletRequest request, PrintWriter out) {
|
try {
|
if (request instanceof MultipartHttpServletRequest) {
|
MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
|
brandClassShopService.changeShopInfo(fileRequest.getFile("file"), id, cid, shopName, state, top, key);
|
} else {
|
brandClassShopService.changeShopInfo(null, id, cid, shopName, state, top, key);
|
}
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
} catch (BrandClassShopException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 修改排序
|
*
|
* @param callback
|
* @param goodsClass
|
* @param out
|
*/
|
@RequestMapping(value = "updateOrderClassShop")
|
public void updateOrderClassShop(String callback, Long id, Integer moveType, PrintWriter out) {
|
try {
|
brandClassShopService.updateOrder(id, moveType);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
|
} catch (BrandClassShopException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 删除
|
*
|
* @param callback
|
* @param idArray
|
* @param out
|
*/
|
@RequestMapping(value = "deleteClassShop")
|
public void deleteClassShop(String callback, String idArray, PrintWriter out) {
|
try {
|
if (StringUtil.isNullOrEmpty(idArray)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
|
return;
|
}
|
Gson gson = new Gson();
|
List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
|
}.getType());
|
|
if (list == null || list.size() == 0) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
|
return;
|
}
|
|
brandClassShopService.deleteBatchByPrimaryKey(list);
|
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
|
e.printStackTrace();
|
}
|
}
|
}
|