From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 142 +++++++++++++++++++++++++---------------------- 1 files changed, 75 insertions(+), 67 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java index cc88c6b..fd30ade 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java @@ -19,9 +19,17 @@ import javax.servlet.http.HttpServletRequest; import com.yeshi.fanli.entity.SystemFunction; +import com.yeshi.fanli.entity.SystemPIDInfo; +import com.yeshi.fanli.entity.bus.user.*; +import com.yeshi.fanli.exception.user.*; +import com.yeshi.fanli.service.inter.pdd.PDDAuthService; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.GsonUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import org.apache.commons.beanutils.PropertyUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -46,19 +54,7 @@ import com.yeshi.fanli.dto.wx.WXAccountInfoDTO; import com.yeshi.fanli.entity.AppVersionInfo; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.user.AccountMessage; -import com.yeshi.fanli.entity.bus.user.BindRemind; -import com.yeshi.fanli.entity.bus.user.BindingAccount; -import com.yeshi.fanli.entity.bus.user.Extract; -import com.yeshi.fanli.entity.bus.user.ExtractRecord; -import com.yeshi.fanli.entity.bus.user.LostOrder; import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum; -import com.yeshi.fanli.entity.bus.user.SMSHistory; -import com.yeshi.fanli.entity.bus.user.ThreeSale; -import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo; -import com.yeshi.fanli.entity.bus.user.UserActiveLog; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum; import com.yeshi.fanli.entity.bus.user.vip.GiveVIPApplyInfo; import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; @@ -75,10 +71,6 @@ import com.yeshi.fanli.exception.goods.CollectionGoodsException; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; -import com.yeshi.fanli.exception.user.BindingAccountException; -import com.yeshi.fanli.exception.user.UserCustomSettingsException; -import com.yeshi.fanli.exception.user.UserInfoException; -import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.AdminUserService; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; @@ -146,9 +138,6 @@ private UserInfoService userInfoService; @Resource - private OrderService orderService; - - @Resource private BindingAccountService bindingAccountService; @Resource @@ -160,8 +149,6 @@ @Resource private BusinessSystemService businessSystemService; - @Resource - private ShamUserService shamUserService; @Resource private ThreeSaleSerivce threeSaleSerivce; @@ -175,8 +162,6 @@ @Resource private HongBaoManageService hongBaoManageService; - @Resource - private UserAccountService loginService; @Resource private RedisManager redisManager; @@ -217,8 +202,6 @@ @Resource private AppVersionService appVersionService; - @Resource - private HongBaoV2CountService hongBaoV2CountService; @Resource private AccountMessageService accountMessageService; @@ -234,12 +217,6 @@ @Resource private BindRemindService bindRemindService; - - @Resource - private RedPackBalanceService redPackBalanceService; - - @Resource - private UserRankService userRankService; @Resource private UserVIPInfoService userVIPInfoService; @@ -267,6 +244,15 @@ @Resource private PreviewInfoService previewInfoService; + + @Resource + private PDDAuthService pddAuthService; + + @Resource + private PIDManager pidManager; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey(); private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey(); @@ -324,7 +310,7 @@ } // 涓嶆槸鐢↖D鐨勭櫥闄嗙殑浜嬪氨澶氫簡 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages(),acceptData.getSystem()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -515,7 +501,7 @@ } // 涓嶆槸鐢↖D鐨勭櫥闄嗙殑浜嬪氨澶氫簡 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages(),acceptData.getSystem()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -573,7 +559,7 @@ int versionCode = Integer.parseInt(version); String platform = acceptData.getPlatform(); - AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0",acceptData.getSystem()); + AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0", acceptData.getSystem()); if (versionInfo != null) { int versionCode150 = versionInfo.getVersionCode(); if (versionCode >= versionCode150) { @@ -599,7 +585,7 @@ int showTiCheng = 1; // 涓嶆樉绀� if ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()),acceptData.getSystem())) + && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())) data.put("showTiCheng", false); else { data.put("showTiCheng", spreadImgCount + shareCount > 0); @@ -609,11 +595,11 @@ } if ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()),acceptData.getSystem())) + && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())) data.put("inviteList", String.format("http://%s/%s/client/share/friends_new_online.html", Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName())); else - data.put("inviteList", configService.getValue(ConfigKeyEnum.teamList.getKey(),acceptData.getSystem())); + data.put("inviteList", configService.getValue(ConfigKeyEnum.teamList.getKey(), acceptData.getSystem())); // 鐣岄潰鐘舵�� UserSettingsVO mySettings = null; @@ -805,10 +791,10 @@ data.put("error", "0"); data.put("maxError", 1); - String minMoney = configService.getValue(EXTRACT_MIN_MONEY,acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� - String maxMoney = configService.getValue(EXTRACT_MAX_MONEY,acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� - String maxDayMoney = configService.getValue(ConfigKeyEnum.extractMoneyDay.getKey(),acceptData.getSystem()); // 姣忔棩鏈�澶ф彁鐜伴噾棰� - int maxDayCount = Integer.parseInt(configService.getValue(ConfigKeyEnum.extractDayCount.getKey(),acceptData.getSystem())); + String minMoney = configService.getValue(EXTRACT_MIN_MONEY, acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� + String maxMoney = configService.getValue(EXTRACT_MAX_MONEY, acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� + String maxDayMoney = configService.getValue(ConfigKeyEnum.extractMoneyDay.getKey(), acceptData.getSystem()); // 姣忔棩鏈�澶ф彁鐜伴噾棰� + int maxDayCount = Integer.parseInt(configService.getValue(ConfigKeyEnum.extractDayCount.getKey(), acceptData.getSystem())); ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid); boolean canExtract = true; String errorMsg = ""; @@ -868,9 +854,9 @@ return; } - String minMoney = configService.getValue(EXTRACT_MIN_MONEY,acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� - String maxDayMoney = configService.getValue(ConfigKeyEnum.extractMoneyDay.getKey(),acceptData.getSystem()); // 姣忔棩鏈�澶ф彁鐜伴噾棰� - int maxDayCount = Integer.parseInt(configService.getValue(ConfigKeyEnum.extractDayCount.getKey(),acceptData.getSystem())); + String minMoney = configService.getValue(EXTRACT_MIN_MONEY, acceptData.getSystem()); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰� + String maxDayMoney = configService.getValue(ConfigKeyEnum.extractMoneyDay.getKey(), acceptData.getSystem()); // 姣忔棩鏈�澶ф彁鐜伴噾棰� + int maxDayCount = Integer.parseInt(configService.getValue(ConfigKeyEnum.extractDayCount.getKey(), acceptData.getSystem())); ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid); boolean canExtract = true; String errorMsg = ""; @@ -1155,14 +1141,14 @@ } BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages(),acceptData.getSystem()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { LogHelper.userInfo("鎻愮幇鏃讹紝涓嶅瓨鍦ㄨ绯荤粺"); out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; } - String minMoney = configService.getValue(EXTRACT_MIN_MONEY,acceptData.getSystem()); // 鍗曠瑪鎻愮幇鏈�灏忛噾棰� + String minMoney = configService.getValue(EXTRACT_MIN_MONEY, acceptData.getSystem()); // 鍗曠瑪鎻愮幇鏈�灏忛噾棰� if (money.compareTo(new BigDecimal("0.1")) < 0) { // 杞笎鍒版敮浠樺疂鐨勬渶灏忛噾棰� out.print(JsonUtil.loadFalseResult("鍗曠瑪鎻愮幇閲戦闇�瑕佸ぇ浜庯細" + 0.1 + "鍏�")); @@ -1173,7 +1159,7 @@ out.print(JsonUtil.loadFalseResult("鍗曠瑪鎻愮幇閲戦闇�瑕佸ぇ浜庯細" + minMoney + "鍏�")); return; } - String maxMoney = configService.getValue(EXTRACT_MAX_MONEY,acceptData.getSystem()); // 鍗曠瑪鎻愮幇鏈�澶ч噾棰� + String maxMoney = configService.getValue(EXTRACT_MAX_MONEY, acceptData.getSystem()); // 鍗曠瑪鎻愮幇鏈�澶ч噾棰� if (new BigDecimal(maxMoney).compareTo(money) < 0) { // 鍚庡彴璁剧疆鐨勫崟绗旇浆璐︾殑鏈�澶ч噾棰� out.print(JsonUtil.loadFalseResult("鍗曠瑪鎻愮幇閲戦澶氫负锛�" + maxMoney + "鍏�")); return; @@ -1222,7 +1208,7 @@ } long[] targetUids = new long[]{3L, 4L, 5L}; - Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey(),acceptData.getSystem()); + Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey(), acceptData.getSystem()); String[] sts = config.getValue().split(","); String account = sts[0]; String pwd = sts[1]; @@ -1315,6 +1301,10 @@ stateInfo = "璇ヨ鍗曠敵璇夊凡閫氳繃锛岃绋嶅悗鏌ョ湅銆�"; } else if (state == -5) { stateInfo = "璇ヨ鍗曚负鍒嗕韩濂栭噾璁㈠崟"; + } else if (state == -1001) { + stateInfo = "璇ヨ鍗曚负杩濊璁㈠崟"; + } else if (state == -1002) { + stateInfo = "璇ヨ鍗曞凡鍙戣捣缁存潈"; } } JSONObject data = new JSONObject(); @@ -1406,7 +1396,7 @@ } @RequestMapping("collectionGoods") - public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) { + public void collectionGoods(AcceptData acceptData, long uid, String auctionId, int type, PrintWriter out) { try { CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, Constant.SOURCE_TYPE_TAOBAO); @@ -1446,7 +1436,7 @@ * @param out */ @RequestMapping("collectionGoodsJp") - public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, Integer goodsType, + public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, String auctionId, Integer goodsType, PrintWriter out) { if (uid == null || auctionId == null) { @@ -1504,7 +1494,7 @@ BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem()); - List<Long> listGid = new ArrayList<Long>(); + List<String> listGid = new ArrayList<>(); for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) { CommonGoods commonGoods = collectionGoodsV2.getCommonGoods(); if (commonGoods == null) { @@ -1532,9 +1522,9 @@ if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) { int state = 1; // 榛樿鍋滃敭 - Long goodsId = commonGoods.getGoodsId(); + String goodsId = commonGoods.getGoodsId(); for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) { - Long auctionId = taoKeGoods.getAuctionId(); + String auctionId = taoKeGoods.getAuctionId(); if (goodsId == auctionId || goodsId.equals(auctionId)) { state = 0; // 鍦ㄥ敭 break; @@ -1581,7 +1571,7 @@ if (!StringUtil.isNullOrEmpty(ids)) { Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> { try { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr), + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, (auctionIdStr), goodsType); } catch (Exception e) { e.printStackTrace(); @@ -1710,7 +1700,7 @@ bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); } - String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(),acceptData.getSystem()); + String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(), acceptData.getSystem()); if (helpLink == null) { helpLink = ""; } @@ -1721,7 +1711,7 @@ hasCode = true; // 宸叉湁閭�璇风爜 } else { // 閭�璇锋縺娲婚摼鎺� - resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(),acceptData.getSystem())); + resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(), acceptData.getSystem())); } resultData.put("hasCode", hasCode); @@ -1782,7 +1772,7 @@ bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); } - String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(),acceptData.getSystem()); + String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(), acceptData.getSystem()); if (helpLink == null) { helpLink = ""; } @@ -1793,7 +1783,7 @@ hasCode = true; // 宸叉湁閭�璇风爜 } else { // 閭�璇锋縺娲婚摼鎺� - resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(),acceptData.getSystem())); + resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(), acceptData.getSystem())); } resultData.put("hasCode", hasCode); @@ -1838,7 +1828,7 @@ JSONObject resultData = new JSONObject(); - String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(),acceptData.getSystem()); + String helpLink = configService.getValue(ConfigKeyEnum.teamHelpUrl.getKey(), acceptData.getSystem()); if (helpLink == null) { helpLink = ""; } @@ -1855,7 +1845,7 @@ hasCode = true; // 宸叉湁閭�璇风爜 } else { // 閭�璇锋縺娲婚摼鎺� - resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(),acceptData.getSystem())); + resultData.put("activationlink", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(), acceptData.getSystem())); } resultData.put("hasCode", hasCode); @@ -2020,11 +2010,11 @@ if (inviteCode == null || inviteCode.trim().length() == 0) { // 鏃犻個璇风爜 inviteData.put("content", "閭�璇锋縺娲�"); - inviteData.put("link", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(),acceptData.getSystem())); + inviteData.put("link", configService.getValue(ConfigKeyEnum.inviteActivationUrl.getKey(), acceptData.getSystem())); } else { // 宸叉湁閭�璇风爜 inviteData.put("content", "閭�璇风爜"); - inviteData.put("link", configService.getValue(ConfigKeyEnum.inviteActivationSuccessUrl.getKey(),acceptData.getSystem())); + inviteData.put("link", configService.getValue(ConfigKeyEnum.inviteActivationSuccessUrl.getKey(), acceptData.getSystem())); } JSONObject data = new JSONObject(); @@ -2050,7 +2040,7 @@ public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) { try { BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages(),acceptData.getSystem()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -2073,6 +2063,16 @@ userActiveLog.setDeviceType(acceptData.getDeviceType()); userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); + //鏄惁缁戝畾娣樺疂 + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + if (taoBaoInfo != null) + if (!StringUtil.isNullOrEmpty(taoBaoInfo.getSpecialId()) && taoBaoInfo.getSpecialValid() != null && taoBaoInfo.getSpecialValid()) { + if (!StringUtil.isNullOrEmpty(taoBaoInfo.getRelationId()) && taoBaoInfo.getRelationValid() != null && taoBaoInfo.getRelationValid()) { + userInfo.setTbName(taoBaoInfo.getTaoBaoNickName()); + userInfo.setOpenid(taoBaoInfo.getTaoBaoUid() + ""); + } + } + // 澶勭悊鐢ㄦ埛淇℃伅 outUserInfoHandle(userInfo); @@ -2179,7 +2179,7 @@ data.put("welfareCenterNews", welfareCenterNews);// 绂忓埄涓績娑堟伅 data.put("vipLink", userVipConfigService.getValueByKey("vip_link"));// 瓒呯骇浼氬憳鍗囩骇閾炬帴 - if(SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.bindPhone)) { + if (SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.bindPhone)) { // 2.0.1涔嬪悗缁戝畾鎵嬫満鍙� if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) { boolean bindPhone = false; @@ -2237,7 +2237,7 @@ } if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { - data.put("fansCountLink", configService.getValue(ConfigKeyEnum.teamStatisticsLink.getKey(),acceptData.getSystem())); + data.put("fansCountLink", configService.getValue(ConfigKeyEnum.teamStatisticsLink.getKey(), acceptData.getSystem())); // 浼氬憳鍔ㄤ綔 // 鏌ヨ鏄惁涓鸿秴绾т細鍛橈紝鏄殑璇濊繑鍥炶秴浼氱鐞嗛摼鎺� UserLevelEnum level = userLevelManager.getUserLevel(uid); @@ -2251,7 +2251,7 @@ vipAction.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web", acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2, - Integer.parseInt(acceptData.getVersion()))); + Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())); JSONObject params = new JSONObject(); params.put("url", userVipConfigService.getValueByKey("vip_manager_link")); vipAction.put("params", params); @@ -2267,7 +2267,7 @@ vipAction.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web", acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2, - Integer.parseInt(acceptData.getVersion()))); + Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())); JSONObject params = new JSONObject(); params.put("url", link.replace("[ID]", list.get(0).getId())); vipAction.put("params", params); @@ -2281,6 +2281,14 @@ } data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo)); + //鎷煎澶氭槸鍚︾粦瀹� + if (VersionUtil.greaterThan_2_1_5(acceptData.getPlatform(), acceptData.getVersion())) { + boolean pddBuyBind = PinDuoDuoApiUtil.isAuth(pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.fanli), pddAuthService.getFanliCustomParams(uid)); + boolean pddShareBind = PinDuoDuoApiUtil.isAuth(pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share), pddAuthService.getFanliCustomParams(uid)); + data.put("pddBuyBind", pddBuyBind); + data.put("pddShareBind", pddShareBind); + } + out.print(JsonUtil.loadTrueResult(data)); -- Gitblit v1.8.0