All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.binarywang.wx.miniapp.api.impl.WxMaLiveGoodsServiceImpl Maven / Gradle / Ivy

There is a newer version: 4.6.7.B
Show newest version
package cn.binarywang.wx.miniapp.api.impl;

import cn.binarywang.wx.miniapp.api.WxMaLiveGoodsService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveGoodInfo;
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableMap;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.common.util.json.GsonParser;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Broadcast.Goods.*;
import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Code.GET_PAGE_URL;

/**
 * 
 *  Created by lipengjun on 2020/6/29.
 * 
* * @author lipengjun ([email protected]) */ @RequiredArgsConstructor public class WxMaLiveGoodsServiceImpl implements WxMaLiveGoodsService { private final WxMaService wxMaService; @Override public WxMaLiveResult addGoods(WxMaLiveGoodInfo goods) throws WxErrorException { return WxMaLiveResult.fromJson(this.wxMaService.post(ADD_GOODS, GsonHelper.buildJsonObject("goodsInfo", goods))); } @Override public boolean resetAudit(Integer auditId, Integer goodsId) throws WxErrorException { this.wxMaService.post(RESET_AUDIT_GOODS, GsonHelper.buildJsonObject("auditId", auditId, "goodsId", goodsId)); return true; } @Override public String auditGoods(Integer goodsId) throws WxErrorException { String responseContent = this.wxMaService.post(AUDIT_GOODS, GsonHelper.buildJsonObject("goodsId", goodsId)); return GsonParser.parse(responseContent).get("auditId").getAsString(); } @Override public boolean deleteGoods(Integer goodsId) throws WxErrorException { this.wxMaService.post(DELETE_GOODS, GsonHelper.buildJsonObject("goodsId", goodsId)); return true; } @Override public boolean updateGoods(WxMaLiveGoodInfo goods) throws WxErrorException { Map map = new HashMap<>(2); map.put("goodsInfo", goods); this.wxMaService.post(UPDATE_GOODS, WxMaGsonBuilder.create().toJson(map)); return true; } @Override public WxMaLiveResult getGoodsWareHouse(List goodsIds) throws WxErrorException { Map map = new HashMap<>(2); map.put("goods_ids", goodsIds); String responseContent = this.wxMaService.post(GET_GOODS_WARE_HOUSE, WxMaGsonBuilder.create().toJson(map)); return WxMaLiveResult.fromJson(responseContent); } @Override public WxMaLiveResult getApprovedGoods(Integer offset, Integer limit, Integer status) throws WxErrorException { ImmutableMap params = ImmutableMap.of("status", status, "offset", offset, "limit", limit); String responseContent = wxMaService.get(GET_APPROVED_GOODS, Joiner.on("&").withKeyValueSeparator("=").join(params)); JsonObject jsonObject = GsonParser.parse(responseContent); JsonArray goodsArr = jsonObject.getAsJsonArray("goods"); if (goodsArr.size() > 0) { for (int i = 0; i < goodsArr.size(); i++) { // 接口返回key是驼峰 JsonObject goods = (JsonObject) goodsArr.get(i); goods.addProperty("goods_id", goods.get("goodsId").getAsInt()); goods.addProperty("cover_img_url", goods.get("coverImgUrl").getAsString()); goods.addProperty("price_type", goods.get("priceType").getAsInt()); goods.addProperty("third_party_tag", goods.get("thirdPartyTag").getAsInt()); goods.addProperty("audit_status", status); } } return WxMaLiveResult.fromJson(jsonObject.toString()); } @Override public boolean setKey(List goodsKey) throws WxErrorException { Map map = new HashMap<>(1); map.put("goodsKey", goodsKey); this.wxMaService.post(SET_KEY, WxMaGsonBuilder.create().toJson(map)); return true; } @Override public List getKey() throws WxErrorException { String responseContent = this.wxMaService.get(GET_KEY, null); JsonObject jsonObject = GsonParser.parse(responseContent); boolean vendorGoodsKey = jsonObject.has("vendorGoodsKey"); if (vendorGoodsKey) { return WxMaGsonBuilder.create().fromJson(jsonObject.getAsJsonArray("vendorGoodsKey"), new TypeToken>() { }.getType()); } else { return null; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy