From ecf03f89b06226588d9a0e6e7f6c58c42f3a85a3 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@S0ZHK00LKCA6OYY> Date: 星期五, 09 十一月 2018 12:16:07 +0800 Subject: [PATCH] 添加重要api的错误监控 --- fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java | 136 ++++++++++++++++++++++++--------------------- 1 files changed, 73 insertions(+), 63 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java index 839a455..017d1e8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java @@ -8,6 +8,7 @@ import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -46,11 +47,13 @@ import com.yeshi.fanli.service.inter.lable.QualityFactoryService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; +import com.yeshi.fanli.service.inter.monitor.MonitorService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.Utils; +import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import org.yeshi.utils.JsonUtil; @@ -102,6 +105,9 @@ @Resource private QualityGoodsService qualityGoodsService; + + @Resource + private MonitorService monitorService; /** * 鑾峰彇涓荤被鐩� @@ -348,9 +354,11 @@ * @param page * @param scid * @param filter - * @param order 鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆� - * 鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 锛� 鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛�� - * + * @param order + * 鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆� + * 鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 锛� + * 鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛�� + * * @param startprice * 璧峰浠锋牸 * @param endprice @@ -371,71 +379,69 @@ } try { - + GoodsSubClass goodsSubClass = goodsSubClassService.getSubClassByPrimaryKeyCache(scid); if (goodsSubClass == null) { out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被")); return; } - + if (page == 0) { // 缁熻鐐瑰嚮閲� goodsSubClassService.countClick(acceptData, goodsSubClass); } - + /* 鎼滅储鍏抽敭璇� */ String searchKey = goodsSubClass.getName(); String key = goodsSubClass.getKey(); if (key != null && !"".equals(key.trim())) { searchKey = key; } - + /* 鍟嗗搧绯荤粺鍒嗙被id */ Long systemCid = null; GoodsClass rootClass = goodsSubClass.getRootClass(); if (rootClass != null) { systemCid = rootClass.getId(); } - - + // page浠�1寮�濮� page += 1; // 璇锋眰娣樺疂鎺ュ彛椤电爜 - int pageNo = page; - + int pageNo = page; + int pageSize = Constant.PAGE_SIZE; - - /* 鏌ヨ鎺ㄨ崘妯″潡 娓呯┖鍏朵粬闈炲繀瑕佺瓫閫夐」鍜屾帓搴忛」 */ + + /* 鏌ヨ鎺ㄨ崘妯″潡 娓呯┖鍏朵粬闈炲繀瑕佺瓫閫夐」鍜屾帓搴忛」 */ if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) == 0) { - + // 鍒嗙被鍏宠仈鏍囩id闆嗗悎 - List<Long> listLabId = - labelClassService.getRelationLabIds((page - 1) * pageSize, pageSize, goodsSubClass.getId()); - + List<Long> listLabId = labelClassService.getRelationLabIds((page - 1) * pageSize, pageSize, + goodsSubClass.getId()); + /* 璁$畻绮鹃�夊簱鏁版嵁 鎬婚〉鏁� */ long incount = taoKeGoodsService.countByQuality(searchKey, systemCid, listLabId); int totalPage = (int) (incount % pageSize == 0 ? incount / pageSize : incount / pageSize + 1); - + pageNo = page - totalPage; - - + /* 鏌ヨ绮鹃�夊簱鏁版嵁 */ - if (pageNo <= 0 ) { - - List<QualityFactory> listQuality = taoKeGoodsService.queryByQuality((page - 1) * pageSize, - pageSize,searchKey, systemCid, listLabId); - + if (pageNo <= 0) { + + List<QualityFactory> listQuality = taoKeGoodsService.queryByQuality((page - 1) * pageSize, pageSize, + searchKey, systemCid, listLabId); + List<TaoBaoGoodsBrief> searchWuLiaoList = null; - - /* 绮鹃�夊簱鏁版嵁涓嶈冻10鏉� */ + + /* 绮鹃�夊簱鏁版嵁涓嶈冻10鏉� */ if (listQuality != null && listQuality.size() != 0 && listQuality.size() < 10) { - + String searchParam = goodsSubClass.getSearchJson(); - + Gson gs = new Gson(); SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class); - + int quanfilter = searchfilter.getQuan(); if (quanfilter != 1) { searchfilter.setQuan(1); @@ -445,53 +451,51 @@ if (endPricefilter == null) { searchfilter.setEndPrice(new BigDecimal(220)); } - + boolean includeGoodRate = searchfilter.isIncludeGoodRate(); if (!includeGoodRate) { searchfilter.setIncludeGoodRate(true); } - - //璇锋眰绗竴椤垫暟鎹� + + // 璇锋眰绗竴椤垫暟鎹� searchfilter.setPage(1); searchfilter.setPageSize(pageSize); searchfilter.setKey(searchKey); searchfilter.setMaterialId("6707"); - + searchWuLiaoList = taoKeGoodsService.searchWuLiaoList(searchfilter); } Map<String, String> map = manageService.convertMap(); - + JSONObject data = taoKeGoodsService.listQualityGoods(listQuality, searchWuLiaoList, map); - + out.print(JsonUtil.loadTrueResult(data)); - + return; } - - - if (pageNo > 0 && totalPage > 0) { - List<QualityFactory> list = taoKeGoodsService.queryByQuality((totalPage - 1) * pageSize, - pageSize, searchKey, systemCid, listLabId); - + + if (pageNo > 0 && totalPage > 0) { + List<QualityFactory> list = taoKeGoodsService.queryByQuality((totalPage - 1) * pageSize, pageSize, + searchKey, systemCid, listLabId); + if (list != null && list.size() != 0 && list.size() < 10) { // 椤电爜+ 1 宸茶姹備竴娆℃窐瀹濇帴鍙� - pageNo += 1 ; + pageNo += 1; } } } - - - /* 缃戠粶璇锋眰 */ + + /* 缃戠粶璇锋眰 */ SearchFilter searchfilter = null; String searchParam = goodsSubClass.getSearchJson(); - - if (!StringUtil.isNullOrEmpty(searchParam) && !StringUtil.isNullOrEmpty(order) + + if (!StringUtil.isNullOrEmpty(searchParam) && !StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) == 0) { // 鎺ㄨ崘 浣跨敤瀛愬垎绫婚粯璁ゆ煡璇㈡潯浠� Gson gs = new Gson(); searchfilter = gs.fromJson(searchParam, SearchFilter.class); - + int quanfilter = searchfilter.getQuan(); if (quanfilter != 1) { searchfilter.setQuan(1); @@ -501,26 +505,27 @@ if (endPricefilter == null) { searchfilter.setEndPrice(new BigDecimal(220)); } - + boolean includeGoodRate = searchfilter.isIncludeGoodRate(); if (!includeGoodRate) { searchfilter.setIncludeGoodRate(true); } - + } else { searchfilter = new SearchFilter(); // 璁剧疆SearchFilter - taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter, totalSales); + taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter, + totalSales); } searchfilter.setPage(pageNo); searchfilter.setPageSize(pageSize); searchfilter.setKey(searchKey); - - if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) != 4 ) { + + if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) != 4) { searchfilter.setMaterialId("6707"); } - + // 鏌ヨ鐗╂枡鎺ュ彛 JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter); out.print(JsonUtil.loadTrueResult(result)); @@ -673,7 +678,7 @@ } @RequestMapping("getCouponList") - public void getCouponList(AcceptData acceptData, int page, PrintWriter out) { + public void getCouponList(AcceptData acceptData, int page, HttpServletRequest request, PrintWriter out) { page = page > 0 ? page : 1; List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = taoBaoCouponService.getTaoBaoCouponList(page); Map<String, String> map = manageService.convertMap(); @@ -692,6 +697,12 @@ data.put("taoBaoCoupons", array); data.put("count", count); out.print(JsonUtil.loadTrueResult(data)); + + try { + monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, null)); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -796,12 +807,11 @@ } } } - - @RequestMapping(value={"getcategory"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) + + @RequestMapping(value = { "getcategory" }, method = { org.springframework.web.bind.annotation.RequestMethod.POST }) public void getcategory(AcceptData acceptData, PrintWriter out) { - com.yeshi.fanli.entity.system.System system = this.systemService - .getSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + com.yeshi.fanli.entity.system.System system = this.systemService.getSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -837,7 +847,7 @@ long gcid = goodsClass.getId(); try { List<GoodsSubClass> subClassList = this.goodsSubClassService.getSubClassCache(Long.valueOf(gcid), - Integer.valueOf(1)); + Integer.valueOf(1)); if ((subClassList == null) || (subClassList.size() == 0)) { subClassList = new ArrayList<GoodsSubClass>(); } -- Gitblit v1.8.0