fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java
@@ -193,9 +193,9 @@ while (its.hasNext()) { String key = its.next(); if (key.equalsIgnoreCase("callback")) { fromWEB = true; } // if (key.equalsIgnoreCase("callback")) { // fromWEB = true; // } if (key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("callback") || key.equalsIgnoreCase("_")) { continue; fanli/src/main/java/com/yeshi/fanli/controller/client/v1/LostOrderController.java
@@ -196,6 +196,8 @@ stateInfo = "该订单申诉已失败,请在订单列表中查看"; } else if (state == -7) { stateInfo = "今日申诉次数已达上限"; }else if (state == -1001) { stateInfo = "订单违规"; } } JSONObject data = new JSONObject(); fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java
@@ -37,6 +37,7 @@ import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; @@ -303,23 +304,41 @@ } }); // 获取提现中的信息 BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); if (extractingMoney.compareTo(new BigDecimal(0)) > 0) vo.setExtractingMoneyInfo("提现中:¥" + extractingMoney.setScale(2)); // 获取是否绑定了微信 if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { vo.setBindingWX(true); } else vo.setBindingWX(false); if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) { // 获取提现中的信息 BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); if (extractingMoney.compareTo(new BigDecimal(0)) > 0) vo.setExtractingMoneyInfo("提现中:¥" + extractingMoney.setScale(2)); // 获取是否绑定了微信 if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { vo.setBindingWX(true); } else vo.setBindingWX(false); UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true) vo.setAutoExtract(true); else vo.setAutoExtract(false); UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); // 如果绑定了微信而且未开通自动提现就先开通自动提现 if (extra.getAutoExtract() == null && !StringUtil.isNullOrEmpty(user.getWxUnionId())) { UserInfoExtra update = new UserInfoExtra(); update.setId(extra.getId()); update.setAutoExtract(true); try { userInfoExtraService.saveUserInfoExtra(update);// 设置自动提现开启 extra.setAutoExtract(true); } catch (UserInfoExtraException e) { e.printStackTrace(); } } vo.setAutoExtractHelpUrl(configService.get("auto_extract_help_url")); if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true) vo.setAutoExtract(true); else vo.setAutoExtract(false); vo.setAutoExtractHelpUrl(configService.get("auto_extract_help_url")); vo.setOpenAutoExtractMsg("自动提现必须要微信授权,当账户中的余额≥2元时,系统在保障你资金安全的情况下,以微信红包的形式完成提现"); vo.setCloseAutoExtractMsg("关闭自动提现后,60天以内将不自动提现,60天后系统将会自动开启,敬请知晓"); } out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); } fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -12,7 +12,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; @@ -21,6 +20,7 @@ import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.dto.pdd.PDDGoodsResult; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.Special; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.jd.JDGoods; @@ -122,7 +122,7 @@ @Resource private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; @Resource private DaTaoKeGoodsService daTaoKeGoodsService; @@ -172,10 +172,10 @@ root.put("spikeGoods", getSpikeGoodsContent(acceptData)); if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) root.put("scoreExchange", getScoreExchangeInfo(acceptData)); if (VersionUtil.greaterThan_2_0_0(acceptData.getPlatform(), acceptData.getVersion())) root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData)); out.print(JsonUtil.loadTrueResult(root)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult(1, "获取数据失败")); @@ -349,8 +349,7 @@ root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png"); return root; } /** * 金币兑换信息 * @@ -366,29 +365,28 @@ String name = arrayKeys.get(i).toString(); JSONObject params = new JSONObject(); params.put("searchKey", name); SearchKeyVO keyVO = new SearchKeyVO(); keyVO.setName(name); keyVO.setParams(params.toString()); array.add(keyVO); } } JSONObject params = new JSONObject(); params.put("url", configService.get("search_discovery_h5_link")); JSONObject root = new JSONObject(); root.put("picture", "http://img.flqapp.com/resource/home_search_found.png"); root.put("params", params); root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web", Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result", Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); root.put("keyList", array); return root; } /** * 首页底部商品推荐 @@ -653,61 +651,96 @@ out.print(JsonUtil.loadTrueResult(data)); } /** * 搜索发现列表 * @param acceptData * @param uid * @param page * @param out */ @RequestMapping(value = "getSearchDiscoveryTop", method = RequestMethod.POST) public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, PrintWriter out) { /** * 搜索发现列表 * * @param acceptData * @param uid * @param page * @param out */ @RequestMapping(value = "getSearchDiscoveryTop") public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, String callback, PrintWriter out) { int count = 0; List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>(); String keys = configService.getSearchDiscoveryKeys(); String keys = configService.getSearchDiscoveryKeys(); if (!StringUtil.isNullOrEmpty(keys)) { JSONArray arrayKeys = JSONArray.fromObject(keys); if (arrayKeys != null && arrayKeys.size() > 0) { count = arrayKeys.size(); BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); BigDecimal shareRate = hongBaoManageService.getShareRate(); int j = 1; for (int i = (page-1) * 3; i < arrayKeys.size(); i++) { for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) { if (j > 3) break; String words = arrayKeys.get(i).toString(); List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>(); List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words); if (listTaoKe != null && listTaoKe.size() > 0) { for (DaTaoKeDetailV2 daTaoKeDetailV2: listTaoKe) { listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null, fanLiRate, shareRate)); for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) { listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null, fanLiRate, shareRate)); if (listGoods.size() >= 3) break; } } SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO(); keyTOPVO.setName(words); keyTOPVO.setListGoods(listGoods); list.add(keyTOPVO); j++; } } } GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); data.put("count", count); data.put("list", gson.toJson(list)); out.print(JsonUtil.loadTrueResult(data)); if (!StringUtil.isNullOrEmpty(callback)) { JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } else out.print(JsonUtil.loadTrueResult(data)); } /** * 获取专题渠道活动 * * @param acceptData * @param uid * @param callback * @param out */ @RequestMapping(value = "getSpecialChannelActivity") public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) { List<Special> list = specialService.listByPlaceKey("special_channel_activity"); // 删除尚未启用的过期的 for (int i = 0; i < list.size(); i++) { Special special = list.get(i); if (special.getState() == 1L) { list.remove(i--); }else{ } } GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); data.put("count", count); data.put("list", gson.toJson(list)); if (!StringUtil.isNullOrEmpty(callback)) { JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } else out.print(JsonUtil.loadTrueResult(data)); } } fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/TaoBaoPunishOrderMapper.java
@@ -11,5 +11,12 @@ * @return */ TaoBaoPunishOrder selectByTradeId(String tradeId); /** * 根据父交易ID查询数量 * @param orderId * @return */ long countByParentTradeId(String orderId); } fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoPunishOrderMapper.xml
@@ -38,6 +38,14 @@ <include refid="Base_Column_List" /> from yeshi_ec_taobao_punish_order where tb_trade_id = #{0} </select> <select id="countByParentTradeId" resultType="java.lang.Long" parameterType="java.lang.String"> select count(*) from yeshi_ec_taobao_punish_order where tb_trade_parent_id = #{0} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_taobao_punish_order where id = #{id,jdbcType=BIGINT} fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java
@@ -21,6 +21,7 @@ import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.service.inter.taobao.TaoBaoPunishOrderService; import com.yeshi.fanli.util.Utils; @Service @@ -41,6 +42,9 @@ @Resource private UserOrderMsgNotificationService userOrderMsgNotificationService; @Resource private TaoBaoPunishOrderService taoBaoPunishOrderService; @Transactional @Override public int addLostOrder(LostOrder lostOrder) { @@ -49,6 +53,14 @@ if (type == null) { // 默认为淘宝订单 lostOrder.setType(1); type = 1; } // 是否处于违规订单中 if (type == 1) { int count = taoBaoPunishOrderService.countByTradeParentId(orderId); if (count > 0) { return -1001; } } // 订单是否已申诉 @@ -291,7 +303,8 @@ * @return */ @Override public List<LostOrder> listQuery(long start, int count, String key, Integer state, Integer handleType, Integer type) { public List<LostOrder> listQuery(long start, int count, String key, Integer state, Integer handleType, Integer type) { return lostOrderMapper.listQuery(start, count, key, state, handleType, type); } fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoPunishOrderServiceImpl.java
@@ -46,7 +46,7 @@ @Resource private UserInfoService userInfoService; @Resource private UserAccountService userAccountService; @@ -107,15 +107,15 @@ Set<String> specialIdSets = new HashSet<>(); Set<Long> uidSets = new HashSet<>(); // for (TaoBaoPunishOrder order : orderList) { // if (!StringUtil.isNullOrEmpty(order.getRelationId())) // relationIdSets.add(order.getRelationId()); // // if (!StringUtil.isNullOrEmpty(order.getSpecialId())) // specialIdSets.add(order.getSpecialId()); // // doPunishOrder(order, uidSets); // } // for (TaoBaoPunishOrder order : orderList) { // if (!StringUtil.isNullOrEmpty(order.getRelationId())) // relationIdSets.add(order.getRelationId()); // // if (!StringUtil.isNullOrEmpty(order.getSpecialId())) // specialIdSets.add(order.getSpecialId()); // // doPunishOrder(order, uidSets); // } for (Iterator<String> its = relationIdSets.iterator(); its.hasNext();) { String relationId = its.next(); @@ -139,4 +139,9 @@ } @Override public int countByTradeParentId(String orderId) { return (int) (taoBaoPunishOrderMapper.countByParentTradeId(orderId)); } } fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/TaoBaoPunishOrderService.java
@@ -26,5 +26,13 @@ * @param order */ public void savePunishOrder(TaoBaoPunishOrder order); /** * 根据交易父ID查询 * @param orderId * @return */ public int countByTradeParentId(String orderId); } fanli/src/main/java/com/yeshi/fanli/util/VersionUtil.java
@@ -59,6 +59,15 @@ return false; } public static boolean greaterThan_2_0(String platform, String versionCode) { if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 48)) || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 66))) return true; else return false; } public static boolean smallerThan_1_5_1(String platform, String versionCode) { if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) < 36)) fanli/src/main/java/com/yeshi/fanli/vo/money/UserMoneyStatisticVO.java
@@ -14,11 +14,28 @@ private BigDecimal totalInviteMoney;// 累计邀请奖金 private BigDecimal monthUnRecievedMoney;// 本月未到账 private BigDecimal totalUnRecievedMoney; // 全部未到账 private String extractingMoneyInfo;//提现中的资金信息 private boolean bindingWX;//是否绑定了微信 private boolean autoExtract;//是否自动提现 private String autoExtractHelpUrl;//自动提现帮助链接 private String extractingMoneyInfo;// 提现中的资金信息 private boolean bindingWX;// 是否绑定了微信 private boolean autoExtract;// 是否自动提现 private String autoExtractHelpUrl;// 自动提现帮助链接 private String closeAutoExtractMsg;// 关闭自动提现提示语 private String openAutoExtractMsg;// 开启自动提现提示语 public String getCloseAutoExtractMsg() { return closeAutoExtractMsg; } public void setCloseAutoExtractMsg(String closeAutoExtractMsg) { this.closeAutoExtractMsg = closeAutoExtractMsg; } public String getOpenAutoExtractMsg() { return openAutoExtractMsg; } public void setOpenAutoExtractMsg(String openAutoExtractMsg) { this.openAutoExtractMsg = openAutoExtractMsg; } public String getAutoExtractHelpUrl() { return autoExtractHelpUrl; utils/src/main/java/org/yeshi/utils/HttpUtil.java
@@ -70,12 +70,17 @@ private static String getShortLink1(String url) { try { String totalUrl = String.format("http://api.suolink.cn/api.php?url=%s", URLEncoder.encode(url)); String totalUrl = String.format( "http://suo.im/api.htm?format=json&url=%s&key=5d7728078e676d45275f816b@681bb0446f1e6af4f8fc6ce3cad2a684", URLEncoder.encode(url)); String result = get(totalUrl, null); if (!StringUtil.isNullOrEmpty(result) && result.startsWith("http")) return result.trim(); System.out.println(result); try { JSONObject json = JSONObject.fromObject(result); return json.optString("url"); } catch (Exception e) { } } catch (Exception e) { return url; } return null; } @@ -83,9 +88,10 @@ private static String getShortLink2(String url) { try { String totalUrl = String.format( "http://api.t.sina.com.cn/short_url/shorten.json?source=3403499693&url_long=%s", "http://api.t.sina.com.cn/short_url/shorten.json?source=2849184197&url_long=%s", // 3403499693 URLEncoder.encode(url)); String result = get(totalUrl, null); System.out.println(result); JSONObject data = JSONArray.fromObject(result).optJSONObject(0); return data.optString("url_short"); } catch (Exception e) {