yujian
2019-09-10 65460a2dc7c69d8c0e031ec4c89e25d47e5173f2
Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
12个文件已修改
161 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/LostOrderController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/TaoBaoPunishOrderMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoPunishOrderMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoPunishOrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/TaoBaoPunishOrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/VersionUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/money/UserMoneyStatisticVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/HttpUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,6 +304,7 @@
            }
        });
        if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) {
        // 获取提现中的信息
        BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid);
        if (extractingMoney.compareTo(new BigDecimal(0)) > 0)
@@ -314,12 +316,29 @@
            vo.setBindingWX(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();
                }
            }
        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;
@@ -350,7 +350,6 @@
        return root;
    }
    
    /**
     * 金币兑换信息
     * 
@@ -388,7 +387,6 @@
        root.put("keyList", array);
        return root;
    }
    /**
     * 首页底部商品推荐
@@ -653,16 +651,16 @@
        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) {
    @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>();
        
@@ -685,8 +683,8 @@
                    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));
                            listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null,
                                    fanLiRate, shareRate));
                            if (listGoods.size() >= 3)
                                break;
                        }
@@ -707,6 +705,41 @@
        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));
    }
    /**
     * 获取专题渠道活动
     *
     * @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
@@ -137,6 +137,11 @@
            userAccountService.forbiddenUserAll(uid, "产生违规订单自动封禁");
        }
    }
    @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
@@ -18,7 +18,24 @@
    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) {
            return url;
            }
        } catch (Exception e) {
        }
        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) {