CommodityDao.java 7.28 KB
package com.drp.mobliemall.dao;

import com.drp.mobliemall.app.GlobalContext;
import com.drp.mobliemall.bean.BackResultBean;
import com.drp.mobliemall.config.Constants;
import com.drp.mobliemall.support.http.http.HttpUtility;
import com.xiniunet.sdk.ApiException;
import com.xiniunet.sdk.drp.domain.Cart;
import com.xiniunet.sdk.drp.domain.Commodity;
import com.xiniunet.sdk.drp.enumication.ItemManufacturingTypeEnum;
import com.xiniunet.sdk.drp.request.CartAddBatchRequest;
import com.xiniunet.sdk.drp.request.CartAddRequest;
import com.xiniunet.sdk.drp.request.CartDeleteRequest;
import com.xiniunet.sdk.drp.request.CartFindRequest;
import com.xiniunet.sdk.drp.request.CartUpdateRequest;
import com.xiniunet.sdk.drp.request.CommodityFindRequest;
import com.xiniunet.sdk.drp.response.CartAddBatchResponse;
import com.xiniunet.sdk.drp.response.CartDeleteResponse;
import com.xiniunet.sdk.drp.response.CartFindResponse;
import com.xiniunet.sdk.drp.response.CartUpdateResponse;
import com.xiniunet.sdk.drp.response.CommodityFindResponse;

import java.util.ArrayList;
import java.util.List;

/**
 * <p/>
 * <pre>
 * ***************************************************************
 *  Copyright (c) 2014-2015 –苏州犀牛网络科技有限公司
 *  Package: com.drp.mobliemall.dao
 *  Description: 商品信息查询
 *  @since 1.0.0
 *  @author 吕明明
 *  @date 16/4/12
 *  @time 14:01
 * ***************************************************************
 * </pre>
 */
public class CommodityDao {

    /**
     * 查询商品信息
     * @param clazzId 类目Id
     * @param keyWord 关键字
     * @return
     */
    public static CommodityFindResponse getCommodityList(Long clazzId,String keyWord){
        CommodityFindRequest request = new CommodityFindRequest();
        if(clazzId != 0L)
            request.setClassId(clazzId);
        if(keyWord!=null&&!keyWord.equals(""))
            request.setName(keyWord);

        request.setStoreId(Long.parseLong(Constants.STOREID));
        request.setIsEcommerceSale(true);
        CommodityFindResponse response=null;
        try {
            response = HttpUtility.client
                    .execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return response;
    }

    /**
     * 加入购物车(单个)
     * @param itemId 物料Id
     * @param quantity
     * @return
     */
    public static BackResultBean addOrUpdateCartItem(final long itemId,final double quantity) {

        CartAddBatchRequest request = new CartAddBatchRequest();
        CartAddRequest cartAddRequest = new CartAddRequest();
        cartAddRequest.setStoreId(Long.parseLong(Constants.STOREID));
        cartAddRequest.setItemId(itemId);
        cartAddRequest.setMemberId(GlobalContext.getInstance().getSpUtil().getUserInfo().getId());
        cartAddRequest.setQuantity(quantity);
        cartAddRequest.setItemManufacturingType(ItemManufacturingTypeEnum.STANDARD);
        List<CartAddRequest> list = new ArrayList<CartAddRequest>();
        list.add(cartAddRequest);
        request.setList(list);

        BackResultBean  resultBean = new BackResultBean();
        try {
            CartAddBatchResponse response = HttpUtility.client.execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));


            if (!response.hasError()) {
                resultBean = new BackResultBean();
                resultBean.setCode("1");
                resultBean.setResult(response.getResult());

            }else {

                resultBean.setCode("0");
                resultBean.setMessage(response.getErrors().get(0).getMessage());
            }
        } catch (ApiException e) {
            e.printStackTrace();
        }
        return resultBean;
    }
    /**
     * 批量加入购物车
     * @return
     */
    public static BackResultBean addOrUpdateCartItem(List<CartAddRequest> list) {

        CartAddBatchRequest request = new CartAddBatchRequest();
        request.setList(list);

        BackResultBean  resultBean = new BackResultBean();
        try {
            CartAddBatchResponse response = HttpUtility.client.execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));


            if (!response.hasError()) {
                resultBean = new BackResultBean();
                resultBean.setCode("1");
                resultBean.setResult(response.getResult());

            }else {

                resultBean.setCode("0");
                resultBean.setMessage(response.getErrors().get(0).getMessage());
            }
        } catch (ApiException e) {
            e.printStackTrace();
        }
        return resultBean;
    }


    /**
     * 拉取购物车数据
     * @return
     */
    public static CartFindResponse getCartItemList() {
        CartFindRequest request = new CartFindRequest();
        request.setStoreId(Long.parseLong(Constants.STOREID));
        request.setMemberId(GlobalContext.getInstance().getSpUtil().getUserInfo().getId());
        //request.setPageSize(20);
        List<Cart> cartItemsList = null;
        CartFindResponse response = null;
        try {
            response = HttpUtility.client.execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));
            cartItemsList = response.getResult();

        } catch (ApiException e) {
            e.printStackTrace();
        }
        return response;
    }

    /**
     * 修改 购物车商品数量
     * @param itemId
     * @param quantity
     * @return
     */
    public static BackResultBean updateCartItem(final long itemId,final double quantity) {

        CartUpdateRequest request = new CartUpdateRequest();
        request.setId(itemId);
        request.setQuantity(quantity);

        BackResultBean  resultBean = new BackResultBean();
        try {
            CartUpdateResponse response = HttpUtility.client.execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));


            if (!response.hasError()) {
                resultBean = new BackResultBean();
                resultBean.setCode("1");
            }else {

                resultBean.setCode("0");
                resultBean.setMessage(response.getErrors().get(0).getMessage());
            }
        } catch (ApiException e) {
            e.printStackTrace();
        }
        return resultBean;
    }

    /**
     * 删除购物车数据
     * @param cartItemId
     * @return
     */
    public static BackResultBean removeCartItemOrClear(final long cartItemId) {
        CartDeleteRequest request= new CartDeleteRequest();
        request.setId(cartItemId);



        BackResultBean  resultBean = new BackResultBean();
        try {
            CartDeleteResponse response = HttpUtility.client.execute(request, Long.toString(GlobalContext.getInstance().getSpUtil().getPassport().getId()));
            if(!response.hasError()){
                resultBean = new BackResultBean();
                resultBean.setCode("1");
            }else{
                resultBean.setCode("0");
                resultBean.setMessage(response.getMsg());


            }

        } catch (ApiException e) {
            e.printStackTrace();
        }
        return resultBean;
    }
}