From 1e1ae4f19489644c9ff35125d075a30f89536d16 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 21 五月 2020 17:35:36 +0800
Subject: [PATCH] 后台编辑
---
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java | 242 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 221 insertions(+), 21 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java
index 926ebd1..ef1e118 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java
@@ -1,6 +1,9 @@
package com.yeshi.fanli.controller.apph5;
import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
import javax.annotation.Resource;
@@ -8,43 +11,240 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
-import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
-import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.jd.JDFilter;
+import com.yeshi.fanli.dto.jd.JDSearchResult;
+import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
+import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.jd.JDGoods;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.jd.JDApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
@Controller
@RequestMapping("api/apph5/v1/share")
public class AppH5ShareController {
-
@Resource
- private UserShareGoodsGroupService userShareGoodsGroupService;
-
+ private UserShareGoodsRecordService userShareGoodsRecordService;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
/**
- * 鍒嗕韩鍟嗗搧
+ * 鍒嗕韩鍟嗗搧璇︽儏
+ *
* @param callback
- * @param shareId 鍒嗕韩id
- * @param source 鏉ユ簮
+ * @param shareId
+ * 鍒嗕韩id
+ * @param source
+ * 鏉ユ簮
* @param out
*/
- @RequestMapping(value = "record")
- public void query(String callback, Long shareId, String source, PrintWriter out) {
-
+ @RequestMapping(value = "getDetail")
+ public void getDetail(String callback, Long shareId, String source, String fingerprint, PrintWriter out) {
+
try {
-
+
if (shareId == null) {
- out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘")));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
return;
}
-
- userShareGoodsGroupService.updateBrowseRecord(shareId, 1);
-
- out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛")));
- } catch (UserShareGoodsRecordException e) {
- out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMsg())));
+
+ // 鑾峰彇鍟嗗搧淇℃伅
+ JSONObject data = userShareGoodsRecordService.getGoodsGroupDetail(shareId);
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
} catch (Exception e) {
- out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏇存柊澶辫触")));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
e.printStackTrace();
}
}
-
+
+ /**
+ * 鍒嗕韩鍟嗗搧鍒楄〃
+ *
+ * @param callback
+ * @param shareId
+ * 鍒嗕韩id
+ * @param source
+ * 鏉ユ簮
+ * @param out
+ */
+ @RequestMapping(value = "getList")
+ public void getList(String callback, Long shareId, PrintWriter out) {
+ try {
+ if (shareId == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+ return;
+ }
+
+ JSONArray array = new JSONArray();
+
+ List<UserShareGoodsGroup> list = userShareGoodsRecordService.listByRecordId(shareId);
+ if (list != null && list.size() > 0) {
+ List<Long> listIdTB = new ArrayList<Long>();
+ List<Long> listIdJD = new ArrayList<Long>();
+ List<Long> listIdPDD = new ArrayList<Long>();
+
+ for (int i = 0; i < list.size(); i++) {
+ CommonGoods commonGoods = list.get(i).getCommonGoods();
+ if (commonGoods == null) {
+ continue;
+ }
+
+ Integer goodsType = commonGoods.getGoodsType();
+ if (goodsType == null) {
+ continue;
+ }
+
+ if (Constant.SOURCE_TYPE_TAOBAO == goodsType) {
+ listIdTB.add(commonGoods.getGoodsId());
+ } else if (Constant.SOURCE_TYPE_JD == goodsType) {
+ listIdJD.add(commonGoods.getGoodsId());
+ } else if (Constant.SOURCE_TYPE_PDD == goodsType) {
+ listIdPDD.add(commonGoods.getGoodsId());
+ }
+ }
+
+ // 娣樺疂楠岃瘉鏄惁鍦ㄥ敭
+ List<TaoBaoGoodsBrief> listTB = null;
+ if (listIdTB.size() > 0) {
+ try {
+ listTB = TaoKeApiUtil.getBatchGoodsInfo(listIdTB);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ // 浜笢楠岃瘉鏄惁鍦ㄥ敭
+ List<JDGoods> listJD = null;
+ if (listIdJD.size() > 0) {
+ try {
+ JDFilter filter = new JDFilter();
+ filter.setListId(listIdJD);
+ filter.setPageIndex(1);
+ filter.setPageSize(100);
+ JDSearchResult result = JDApiUtil.queryByKey(filter);
+ if (result != null) {
+ listJD = result.getGoodsList();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ // 鎷煎澶氶獙璇佹槸鍚﹀湪鍞�
+ List<PDDGoodsDetail> listPDD = null;
+ if (listIdPDD.size() > 0) {
+ try {
+ Long[] ids = new Long[list.size()];
+ PDDSearchFilter sf = new PDDSearchFilter();
+ sf.setPage(1);
+ sf.setPageSize(100);
+ sf.setGoodsIdList(listIdPDD.toArray(ids));
+ PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(sf);
+ if (result != null) {
+ listPDD = result.getGoodsList();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO configParamsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,
+ hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP));
+
+
+ for (UserShareGoodsGroup goodsGroup : list) {
+ CommonGoods commonGoods = goodsGroup.getCommonGoods();
+ if (commonGoods == null) {
+ continue;
+ }
+ Integer goodsType = commonGoods.getGoodsType();
+ if (goodsType == null) {
+ goodsType = Constant.SOURCE_TYPE_TAOBAO;
+ }
+ Long commonGid = commonGoods.getGoodsId();
+
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO && listTB != null && listTB.size() > 0) {
+ int state = 1; // 榛樿鍋滃敭
+ for (TaoBaoGoodsBrief goodsDetail : listTB) {
+ Long goodsId = goodsDetail.getAuctionId();
+ if (goodsId == commonGid || goodsId.equals(commonGid)) {
+ state = 0; // 鍦ㄥ敭
+ break;
+ }
+ }
+ commonGoods.setState(state);
+ }
+
+ if (goodsType == Constant.SOURCE_TYPE_JD && listJD != null && listJD.size() > 0) {
+ int state = 1; // 榛樿鍋滃敭
+ for (JDGoods goodsDetail : listJD) {
+ Long goodsId = goodsDetail.getSkuId();
+ if (goodsId == commonGid || goodsId.equals(commonGid)) {
+ state = 0; // 鍦ㄥ敭
+ break;
+ }
+ }
+ commonGoods.setState(state);
+ }
+
+ if (goodsType == Constant.SOURCE_TYPE_PDD && listPDD != null && listPDD.size() > 0) {
+ int state = 1; // 榛樿鍋滃敭
+ for (PDDGoodsDetail goodsDetail : listPDD) {
+ Long goodsId = goodsDetail.getGoodsId();
+ if (goodsId == commonGid || goodsId.equals(commonGid)) {
+ state = 0; // 鍦ㄥ敭
+ break;
+ }
+ }
+ commonGoods.setState(state);
+ }
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, configParamsDTO);
+ if (!detailVO.isHasCoupon()) {
+ detailVO.setState(1);
+ ; // 宸叉姠鍏�
+ }
+ array.add(gson.toJson(detailVO));
+ }
+ }
+
+ String title = "";
+ UserShareGoodsRecord userShareGoodsRecord = userShareGoodsRecordService.selectByPrimaryKey(shareId);
+ if (userShareGoodsRecord != null) {
+ title = userShareGoodsRecord.getTitle();
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("title", title);
+ data.put("count", list.size());
+ data.put("result_list", array);
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.8.0