package com.yeshi.fanli.controller.xcx;
|
|
import java.io.PrintWriter;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.yeshi.utils.JsonUtil;
|
|
import com.yeshi.fanli.controller.client.v1.SearchController;
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
|
import com.yeshi.fanli.entity.bus.clazz.GoodsSecondClass;
|
import com.yeshi.fanli.entity.bus.su.clazz.SuperGoodsClass;
|
import com.yeshi.fanli.entity.system.BusinessSystem;
|
import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.goods.GoodsClassService;
|
import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
|
import com.yeshi.fanli.service.inter.goods.SuperGoodsClassService;
|
import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
|
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
|
import com.yeshi.fanli.util.GsonUtil;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.Utils;
|
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("api/xcx/v1/XcxClass")
|
public class XcxGoodsClassController {
|
|
@Resource
|
private SuperGoodsClassService superGoodsClassService;
|
|
@Resource
|
private GoodsSecondClassService goodsSecondClassService;
|
|
@Resource
|
private GoodsClassService goodsClassService;
|
|
@Resource
|
private XcxMiniControllerUtil xcxMiniControllerUtil;
|
|
@Resource
|
private SearchController searchController;
|
|
@Resource
|
private TaoBaoCouponService taoBaoCouponService;
|
|
@Resource
|
private HongBaoManageService hongBaoManageService;
|
|
@Resource
|
private ConfigService configService;
|
|
/**
|
*
|
* 方法说明: 首页获取商品类别
|
*
|
* @author mawurui createTime 2018年4月26日 下午12:22:19
|
* @param acceptData
|
* @param out
|
*/
|
@RequestMapping(value = "getGoodsType", method = RequestMethod.POST)
|
public void getGoodsType(String appid, Integer version, PrintWriter out) {
|
if (!configService.xcxShow(appid, version)) {
|
getGoodsTypeTest(null, out);
|
return;
|
}
|
|
List<GoodsClass> goodsTypeList = goodsClassService.getGoodsClassAll();
|
// 测试
|
// DaTaoKeUtil.getGoodsType();
|
|
// goodsClassService.getGoodsClassAll();
|
JSONObject data = new JSONObject();
|
data.put("goodsTypeList", goodsTypeList);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
public void getGoodsTypeTest(AcceptData acceptData, PrintWriter out) {
|
List<GoodsClass> goodsTypeList = DaTaoKeUtil.getGoodsType();
|
JSONObject data = new JSONObject();
|
data.put("goodsTypeList", goodsTypeList);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
/**
|
*
|
* 方法说明: 获取首页商品列表
|
*
|
* @author mawurui createTime 2018年4月25日 下午5:20:34
|
* @param acceptData
|
* @param out
|
*/
|
@RequestMapping(value = "getgoodsclass", method = RequestMethod.POST)
|
public void getGoodsClass(AcceptData acceptData, PrintWriter out) {
|
BusinessSystem system = xcxMiniControllerUtil.getSystem(acceptData);
|
if (system == null) {
|
out.print(JsonUtil.loadFalseResult(XcxMiniControllerUtil.NOSYSTEM));
|
return;
|
}
|
List<SuperGoodsClass> superGoodsClassList = superGoodsClassService.getSuperGoodsClassBySystemId(system.getId());
|
if (superGoodsClassList == null || superGoodsClassList.size() == 0) {
|
out.print(JsonUtil.loadFalseResult(XcxMiniControllerUtil.NODATA));
|
return;
|
}
|
List<GoodsClass> goodsClassList = new ArrayList<GoodsClass>();
|
for (SuperGoodsClass superGoodsClass : superGoodsClassList) {
|
GoodsClass goodsClass = superGoodsClass.getGoodsClass();
|
goodsClassList.add(goodsClass);
|
}
|
|
int count = goodsClassList.size();
|
JSONObject data = new JSONObject();
|
data.put("count", count);
|
data.put("goodsClassList", goodsClassList);
|
String result = JsonUtil.loadTrueResult(data);
|
out.print(result);
|
}
|
|
/**
|
*
|
* 方法说明: 二级分类商品
|
*
|
* @author mawurui createTime 2018年4月25日 下午5:24:57
|
* @param acceptData
|
* @param gcid
|
* @param out
|
*/
|
@RequestMapping(value = "getgoodssecondclass", method = RequestMethod.POST)
|
public void getGoodsSecondClass(AcceptData acceptData, long gcid, PrintWriter out) {
|
List<GoodsSecondClass> goodsSecondClassList = goodsSecondClassService.getGoodsSecondClassByGoodsClassId(gcid);
|
if (goodsSecondClassList == null || goodsSecondClassList.size() == 0) {
|
out.print(JsonUtil.loadFalseResult(XcxMiniControllerUtil.NODATA));
|
return;
|
}
|
JSONObject data = new JSONObject();
|
data.put("count", goodsSecondClassList.size());
|
data.put("goodsSecondClassList", GsonUtil.toJsonExpose(goodsSecondClassList));
|
String result = JsonUtil.loadTrueResult(data);
|
out.print(result);
|
}
|
|
|
/**
|
*
|
* 方法说明: 获得优惠券商品
|
*
|
* @author mawurui createTime 2018年4月25日 下午5:26:07
|
* @param acceptData
|
* @param page
|
* @param gcid
|
* @param out
|
*/
|
@RequestMapping(value = "getCouponGoods", method = RequestMethod.POST)
|
public void getCouponGoods(AcceptData acceptData, int page, long gcid, PrintWriter out) {
|
// GoodsClass goodsClass = goodsClassService.getGoodsClass(gcid);
|
|
List<GoodsSecondClass> secondClassList = goodsSecondClassService.getGoodsSecondClassByGoodsClassId(gcid);
|
List<String> searchKeys = new ArrayList<String>();
|
for (GoodsSecondClass secondClass : secondClassList) {
|
String key = secondClass.getKey();
|
if (key == null || "".equals(key.trim())) {
|
searchKeys.add(secondClass.getName());
|
} else {
|
searchKeys.add(secondClass.getKey());
|
}
|
}
|
List<TaoBaoCoupon> taoBaoCoupons = taoBaoCouponService.getTaoBaoCouponListBykeys(searchKeys, page);
|
int count = taoBaoCouponService.getCount(searchKeys);
|
setTaoBaoCouponHongBao(taoBaoCoupons);
|
JSONObject data = new JSONObject();
|
long currentTimeMillis = java.lang.System.currentTimeMillis();
|
String time = TimeUtil.getGernalTime(currentTimeMillis);
|
data.put("time", time);
|
data.put("count", count);
|
data.put("taoBaoCoupons",
|
Utils.imgListSize(GsonUtil.toJsonExpose(TaoBaoUtil.getTaoBaoGoodsBriefExtraList(taoBaoCoupons))));
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
@RequestMapping(value = "getgoods", method = RequestMethod.POST)
|
public void getGoods(AcceptData acceptData, int page, long scid, String filter, String order, String startprice,
|
String endprice, String fastFilter, PrintWriter out) {
|
BusinessSystem system = xcxMiniControllerUtil.getSystem(acceptData);
|
if (system == null) {
|
out.print(JsonUtil.loadFalseResult(XcxMiniControllerUtil.NOSYSTEM));
|
return;
|
}
|
GoodsSecondClass secondClass = goodsSecondClassService.getSecondClass(scid);
|
String name2 = secondClass.getName();
|
String name1 = secondClass.getKey();
|
if (name1 != null && !"".equals(name1.trim())) {
|
name2 = name1;
|
}
|
if (!StringUtil.isNullOrEmpty(fastFilter)) {
|
if (!StringUtil.isNullOrEmpty(filter)) {
|
JSONArray filterArray = JSONArray.fromObject(filter);
|
JSONArray fastFilterArray = JSONArray.fromObject(fastFilter);
|
filterArray.addAll(fastFilterArray);
|
filter = filterArray.toString();
|
} else {
|
filter = fastFilter;
|
}
|
}
|
StringBuffer sb = new StringBuffer();
|
sb.append(name2);
|
sb.append(page + "");
|
sb.append(filter);
|
sb.append(order);
|
sb.append(startprice);
|
sb.append(endprice);
|
String md5 = StringUtil.Md5(sb.toString());
|
JSONObject data = searchController.searchClass(acceptData, name2, page, filter, order, startprice, endprice,
|
md5);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
/**
|
* �?��分类下的精�?
|
*/
|
@RequestMapping("choiceGoods")
|
public void choiceGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
|
GoodsClass goodsClass = goodsClassService.getGoodsClass(gcid);
|
if (goodsClass == null) {
|
out.append(JsonUtil.loadFalseResult("不存在该分类"));
|
return;
|
}
|
StringBuffer sb = new StringBuffer();
|
String key = goodsClass.getKey();
|
sb.append(key);
|
sb.append(page);
|
String md5 = StringUtil.Md5(sb.toString());
|
// 现在默认的是“销量�?
|
JSONObject data = searchController.searchClass(acceptData, key, page, null, "1", null, null, md5);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
/**
|
*
|
* 方法说明: 获取优惠券列表
|
*
|
* @author mawurui createTime 2018年4月25日 下午5:22:55
|
* @param acceptData
|
* @param page
|
* @param out
|
*/
|
|
public void getCouponListTest(AcceptData acceptData, int page, PrintWriter out) {
|
List<TaoBaoCoupon> taoBaoCoupons = DaTaoKeUtil.getRecommendCouple();
|
int count = taoBaoCouponService.getCount("");
|
setTaoBaoCouponHongBao(taoBaoCoupons);
|
JSONObject data = new JSONObject();
|
data.put("taoBaoCoupons",
|
Utils.imgListSize(GsonUtil.toJsonExpose(TaoBaoUtil.getTaoBaoGoodsBriefExtraList(taoBaoCoupons))));
|
data.put("count", count);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
// 上线注释
|
@RequestMapping("getCouponList")
|
public void getCouponList(String appid, Integer version, int page, PrintWriter out) {
|
// 上线版本
|
if (!configService.xcxShow(appid, version)) {
|
getCouponListTest(null, page, out);
|
return;
|
}
|
|
List<TaoBaoCoupon> taoBaoCoupons = taoBaoCouponService.getTaoBaoCouponListBykeys(null, page);
|
int count = taoBaoCouponService.getCount("");
|
setTaoBaoCouponHongBao(taoBaoCoupons);
|
JSONObject data = new JSONObject();
|
data.put("taoBaoCoupons",
|
Utils.imgListSize(GsonUtil.toJsonExpose(TaoBaoUtil.getTaoBaoGoodsBriefExtraList(taoBaoCoupons))));
|
data.put("count", count);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
/**
|
* 设置红包进去
|
*
|
* @param taoBaoCoupons
|
*/
|
private void setTaoBaoCouponHongBao(List<TaoBaoCoupon> taoBaoCoupons) {
|
if (taoBaoCoupons.size() > 0) {
|
BigDecimal proportion = hongBaoManageService.getFanLiRate();
|
for (TaoBaoCoupon taoBaoCoupon : taoBaoCoupons) {
|
BigDecimal hb = TaoBaoUtil.getCouponHongBaoInfo(taoBaoCoupon, proportion);
|
taoBaoCoupon.setHongbao(hb);
|
}
|
}
|
}
|
|
}
|