mitao
2025-05-20 179c4d64313c9b7572778da4aaaf6c6584fe457d
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/umf/UmfPayUtil.java
@@ -2,6 +2,8 @@
import com.umf.api.service.UmfService;
import com.umf.api.service.UmfServiceImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@@ -11,24 +13,47 @@
/**
 * @author zzj
 */
@Component
public class UmfPayUtil {
    @Value("${umf.file}")
    private String file;
    @Value("${umf.notify_url}")
    private String notifyUrl;
    public Map pay(String orderid,String merdate,String openid,String amount){
        Map reqMapPublic = preparePublic(orderid,merdate,openid,amount);
        UmfService instance = new UmfServiceImpl("53461","/mnt/data/web/file/53461_.key.p8");
        Map reqMapPublic = preparePublic(orderid,merdate,openid,amount,notifyUrl);
        UmfService instance = new UmfServiceImpl("53461",file);
        Map respMap = instance.miniProgramPayMap(reqMapPublic);
        return respMap;
    }
    public Map pay2(String orderid,String merdate,String openid,String amount){
        Map reqMapPublic = preparePublic2(orderid,merdate,openid,amount,notifyUrl);
        UmfService instance = new UmfServiceImpl("53461",file);
        Map respMap = instance.miniProgramPayMap(reqMapPublic);
        return respMap;
    }
    public Map repay(String orderid,String merdate,String refundNo,String refundAmount,String orgAmount){
        Map reqMapPublic=prepareRepay(orderid,merdate,refundNo,refundAmount,orgAmount);
        UmfService instance = new UmfServiceImpl("53461",file);
        Map respMap=instance.generalRefundMap(reqMapPublic);
        return respMap;
    }
    public boolean settle(String settleDate){
        Map reqMapPublic=prepareDownloadSettle(settleDate);
        UmfService instance = new UmfServiceImpl("53461",file);
        boolean bo=instance.reconciliationDownloadMap(reqMapPublic);
        return bo;
    }
    //小程序支付请求参数
    public static Map preparePublic(String orderid,String merdate,String openid,String amount) {
    public static Map preparePublic(String orderid,String merdate,String openid,String amount,String notifyUrl) {
        Map reqMap = new HashMap();
        reqMap.put("mer_id","53461");
        reqMap.put("notify_url","http://xxx.xxx.com");
        reqMap.put("goods_inf","商品描述");
        reqMap.put("notify_url",notifyUrl);
        reqMap.put("goods_inf","uu洗车服务");
        reqMap.put("order_id",orderid);
        reqMap.put("mer_date",merdate);
        reqMap.put("amount",amount);
@@ -37,4 +62,37 @@
        reqMap.put("scancode_type","WECHAT");
        return reqMap;
    }
    //小程序支付请求参数
    public static Map preparePublic2(String orderid,String merdate,String openid,String amount,String notifyUrl) {
        Map reqMap = new HashMap();
        reqMap.put("mer_id","53461");
        reqMap.put("notify_url",notifyUrl);
        reqMap.put("goods_inf","无水洗车服务");
        reqMap.put("order_id",orderid);
        reqMap.put("mer_date",merdate);
        reqMap.put("amount",amount);
        reqMap.put("app_id","wx98d62711dfbd8425");
        reqMap.put("open_id",openid);
        reqMap.put("scancode_type","WECHAT");
        return reqMap;
    }
    //小程序支付请求参数
    public static Map prepareRepay(String orderid,String merdate,String refundNo,String refundAmount,String orgAmount) {
        Map reqMap = new HashMap();
        reqMap.put("mer_id","53461");
        reqMap.put("order_id",orderid);
        reqMap.put("mer_date",merdate);
        reqMap.put("refund_no",refundNo);
        reqMap.put("refund_amount",refundAmount);
        reqMap.put("org_amount",orgAmount);
        return reqMap;
    }
    public static Map prepareDownloadSettle(String settleDate){
        Map reqMap = new HashMap();
        reqMap.put("mer_id","53461");
        reqMap.put("settle_date",settleDate);//对账日期
        reqMap.put("settle_path","D:/");//Windows下为---D:/tecent,Linux下为---/opt/tecent
        return reqMap;
    }
}