admin
2021-01-15 8bd8af776700a5182516819b0cc466f40b063cfa
支付宝小程序工具类修改
6个文件已修改
1个文件已添加
208 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/h5/H5S11Controller.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/AppMarketUtil.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/CMQUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/alipay/AlipayH5PayUtil.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java
@@ -190,21 +190,21 @@
                List<Integer> hongBaoTypeList = new ArrayList<>();
                hongBaoTypeList.add(HongBaoV2.TYPE_ZIGOU);
                if (riskType == 1) {
                if (riskType == 1) {//同商品
                    listGoodsId = commonOrderCountService.getSameGoodsOrderByUidAndHongBaoType(hongBaoTypeList, uid,
                            Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey(), acceptData.getSystem())));
                    if (listGoodsId == null || listGoodsId.isEmpty()) {
                        JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无同商品订单"));
                        return;
                    }
                } else if (riskType == 2) {
                } else if (riskType == 2) {//同店铺
                    listShopId = commonOrderCountService.getSameShopOrderByUidAndHongBaoType(hongBaoTypeList, uid,
                            Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameShopOrderCount.getKey(), acceptData.getSystem())));
                    if (listShopId == null || listShopId.isEmpty()) {
                        JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无同店铺订单"));
                        return;
                    }
                } else if (riskType == 3) {
                } else if (riskType == 3) {//高额返利
                    money = OrderConstant.BIG_ORDER_MONEY;
                    minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L);
                }
fanli/src/main/java/com/yeshi/fanli/controller/h5/H5S11Controller.java
@@ -70,7 +70,7 @@
        if (StringUtil.isNullOrEmpty(token)) {
            try {
                TaoKeOfficialActivityConvertResultDTO dto = TaoKeApiUtil.officialActivityConvert("19507100253",
                        "20150318020002508", info.getRelationId());
                        "20150318020003258", info.getRelationId());
                String link = dto.getClick_url();
                if (!StringUtil.isNullOrEmpty(link)) {
@@ -125,7 +125,7 @@
        if (StringUtil.isNullOrEmpty(token)) {
            try {
                TaoKeOfficialActivityConvertResultDTO dto = TaoKeApiUtil.officialActivityConvert("19507100253",
                        "20150318020002508", info.getRelationId());
                        "20150318020003258", info.getRelationId());
                String link = dto.getClick_url();
                if (!StringUtil.isNullOrEmpty(link)) {
                    token = TaoKeApiUtil.getTKToken("http://img.flqapp.com/resource/s11/banner.jpg", "预售商品付定金,得奖金!",
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -293,7 +293,7 @@
        auditRecord.setBeforeMoney(user.getMyHongBao());
        auditRecord.setExtract(extract);
        Date minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L);
        Date minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60L * 24 * 180);
        extractAuditRecordMapper.insertSelective(auditRecord);
utils/src/main/java/org/yeshi/utils/AppMarketUtil.java
@@ -30,7 +30,7 @@
                    if (array1 != null)
                        for (int j = 0; j < array1.size(); j++) {
                            item = array1.optJSONObject(j);
                            if (item != null && !StringUtil.isNullOrEmpty(item.optString("version") )) {
                            if (item != null && !StringUtil.isNullOrEmpty(item.optString("version"))) {
                                return item.optString("version").trim();
                            }
                        }
@@ -44,4 +44,25 @@
    }
    /**
     * 获取vivo最新的版本号
     *
     * @param appId
     * @return
     */
    public static Integer getVIVOLatestVersionCode(String appId) {
        try {
            String url = String.format("https://hf.appstore.vivo.com.cn/detail/%s?frompage=messageh5&imei=1234567890&av=18&app_version=2100&pictype=webp&h5_websource=h5appstore", appId);
            System.out.println(url);
            String result = HttpUtil.get(url);
            JSONObject root = JSONObject.fromObject(result);
            return root.optInt("version_code");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
utils/src/main/java/org/yeshi/utils/CMQUtil.java
@@ -402,17 +402,16 @@
     * @param message
     * @return
     */
    public boolean publishTopicMessage(String topicName, String message) {
    public String publishTopicMessage(String topicName, String message) {
        try {
            Topic topic = topicAccount.getTopic(topicName);
            if (topic == null)
                return false;
            topic.publishMessage(message);
            return true;
                return null;
            return topic.publishMessage(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
        return null;
    }
    /**
utils/src/main/java/org/yeshi/utils/alipay/AlipayH5PayUtil.java
New file
@@ -0,0 +1,163 @@
package org.yeshi.utils.alipay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.*;
import com.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse;
import com.alipay.api.response.AlipayTradeCancelResponse;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.alipay.api.response.AlipayTradeRefundResponse;
import net.sf.json.JSONObject;
import org.yeshi.utils.StringUtil;
import org.yeshi.utils.TimeUtil;
import org.yeshi.utils.entity.alipay.AlipayAppInfo;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 支付宝H5支付
 */
public class AlipayH5PayUtil {
    private static AlipayClient getAlipayClient(AlipayAppInfo app) {
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", app.getAppId(), app.getPrivateKey(), "json", "GBK", app.getAlipayPublicKey(), "RSA2"); //获得初始化的AlipayClient
        return alipayClient;
    }
    /**
     * 创建订单(支付宝API为https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay)
     *
     * @param app
     * @param orderNo
     * @param money
     * @param goodsTitle
     * @param returnUrl
     * @param notifyUrl
     * @return
     */
    public static String createOrderForm(AlipayAppInfo app, String orderNo, BigDecimal money, String goodsTitle, String returnUrl, String notifyUrl) throws AlipayApiException {
        AlipayClient alipayClient = getAlipayClient(app);
        AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request
        alipayRequest.setReturnUrl(returnUrl);
        alipayRequest.setNotifyUrl(notifyUrl);//在公共参数中设置回跳和通知地址
        JSONObject bizContent = new JSONObject();
        bizContent.put("out_trade_no", orderNo);
        bizContent.put("total_amount", money);
        bizContent.put("subject", goodsTitle);
        bizContent.put("product_code", "QUICK_WAP_PAY");
        alipayRequest.setBizContent(bizContent.toString());//填充业务参数
        String form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
        return form;
    }
    /**
     * 订单查询
     *
     * @param app
     * @param outTradeNo
     * @param alipayTradeNo
     * @return
     * @throws AlipayApiException
     */
    public static AlipayTradeQueryResponse queryOrder(AlipayAppInfo app, String outTradeNo, String alipayTradeNo) throws AlipayApiException {
        AlipayClient alipayClient = getAlipayClient(app);
        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); //创建API对应的request类
        JSONObject content = new JSONObject();
        if (!StringUtil.isNullOrEmpty(outTradeNo)) {
            content.put("out_trade_no", outTradeNo);
        }
        if (!StringUtil.isNullOrEmpty(alipayTradeNo)) {
            content.put("trade_no", alipayTradeNo);
        }
        request.setBizContent(content.toString());
        AlipayTradeQueryResponse response = alipayClient.execute(request); //通过alipayClient调用API,获得对应的response类
        return response;
    }
    /**
     * 取消订单
     * 如果此订单用户支付失败,支付宝将关闭此订单。
     * 如果此订单用户支付成功,支付宝将退还订单资金给用户。
     *
     * @param app
     * @param outTradeNo
     * @param alipayTradeNo
     * @return
     * @throws AlipayApiException
     */
    public static AlipayTradeCancelResponse cancelOrder(AlipayAppInfo app, String outTradeNo, String alipayTradeNo) throws AlipayApiException {
        AlipayClient alipayClient = getAlipayClient(app);
        AlipayTradeCancelRequest request = new AlipayTradeCancelRequest(); //创建API对应的request类
        JSONObject content = new JSONObject();
        if (!StringUtil.isNullOrEmpty(outTradeNo)) {
            content.put("out_trade_no", outTradeNo);
        }
        if (!StringUtil.isNullOrEmpty(alipayTradeNo)) {
            content.put("trade_no", alipayTradeNo);
        }
        request.setBizContent(content.toString());  //设置业务参数
        AlipayTradeCancelResponse response = alipayClient.execute(request); //通过alipayClient调用API,获得对应的response类
        return response;
    }
    /**
     * 退款
     *
     * @param app
     * @param outTradeNo
     * @param alipayTradeNo
     * @param refundAmount  本次退款金额
     * @param outRequestNo  本次退款请求流水号,部分退款时必传。
     * @return
     * @throws AlipayApiException
     */
    public static AlipayTradeRefundResponse refund(AlipayAppInfo app, String outTradeNo, String alipayTradeNo, BigDecimal refundAmount, String outRequestNo) throws AlipayApiException {
        AlipayClient alipayClient = getAlipayClient(app);
        AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();//创建API对应的request类
        JSONObject content = new JSONObject();
        if (!StringUtil.isNullOrEmpty(outTradeNo)) {
            content.put("out_trade_no", outTradeNo);
        }
        if (!StringUtil.isNullOrEmpty(alipayTradeNo)) {
            content.put("trade_no", alipayTradeNo);
        }
        if (!StringUtil.isNullOrEmpty(outRequestNo)) {
            content.put("out_request_no", outRequestNo);
        }
        content.put("refund_amount", refundAmount);
        request.setBizContent(content.toString());  //设置业务参数
        AlipayTradeRefundResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
        return response;
    }
    /**
     * 获取账单的链接
     *
     * @param app
     * @param date 需要下载的账单日期,最晚是当期日期的前一天。
     * @return
     * @throws AlipayApiException
     */
    public static String getBillLink(AlipayAppInfo app, Date date) throws AlipayApiException {
        AlipayClient alipayClient = getAlipayClient(app);
        AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();//创建API对应的request类
        JSONObject content = new JSONObject();
        content.put("bill_type", "trade");
        content.put("bill_date", TimeUtil.getGernalTime(date.getTime(), "yyyy-MM-dd"));
        AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
        return response.getBillDownloadUrl();
    }
}
utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java
@@ -42,7 +42,6 @@
                    app.getCertInfo().getAlipayPublicCertStream());
            certAlipayRequest.setRootCertStream(
                    app.getCertInfo().getAlipayRootCertStream());
            return new CertAlipayClient(certAlipayRequest);
        }
    }