chengf
2025-08-31 dcbf66105a86b5983e67e430d7efa73eb4d03dc4
暂存0829
13个文件已修改
249 ■■■■ 已修改文件
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/cmd/payment/CashierCmd.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/cmd/payment/NativeQrcodePaymentCmd.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/cmd/payment/PcQrcodePaymentCmd.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/fuiou/FuiouPaymentFactoryAdapt.java 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/smo/impl/NotifyPaymentV1InnerServiceSMOImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/smo/payment/adapt/fuiouPay/FuiouPayAdapt.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application-debug.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application-debugg.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application-dev.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application-devlocal.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml
@@ -282,7 +282,7 @@
        <if test="endTime != null">
            and STR_TO_DATE(pfa1.`value`, '%Y-%m-%d %H:%i:%s.%f') = #{endTime}
        </if>
        <if test="community_id != null and community_id != ''">  <!-- 修正原条件中的变量错误 -->
        <if test="communityId != null and communityId != ''">  <!-- 修正原条件中的变量错误 -->
            and t.community_id = #{communityId}
            and pfc.community_id in (#{communityId}, '9999')
        </if>
service-acct/src/main/java/com/java110/acct/cmd/payment/CashierCmd.java
@@ -21,7 +21,6 @@
import com.java110.utils.exception.CmdException;
import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -74,12 +73,7 @@
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        if(reqJson.containsKey("custStartTime") && reqJson.containsKey("custEndTime")){
            reqJson.put("cycle", (DateUtil.dayCompare(
                    DateUtil.getDateFromStringB(reqJson.get("custStartTime").toString().split(" ")[0]),
                    DateUtil.getDateFromStringB(reqJson.get("custEndTime").toString().split(" ")[0])
            )));
        }
        logger.debug(">>>>>>>>>>>>>>>>支付参数报文,{}", reqJson.toJSONString());
        String appId = context.getReqHeaders().get("app-id");
        String userId = reqJson.getString("cashierUserId");
@@ -97,7 +91,7 @@
        PaymentOrderDto paymentOrderDto = paymentBusiness.unified(context, reqJson);
        paymentOrderDto.setAppId(appId);
        paymentOrderDto.setUserId(userId);
//        paymentOrderDto.setMoney(1); //   TODO 测试数据
        logger.debug(">>>>>>>>>>>>>>>>支付业务下单返回,{}", JSONObject.toJSONString(paymentOrderDto));
service-acct/src/main/java/com/java110/acct/cmd/payment/NativeQrcodePaymentCmd.java
@@ -207,37 +207,5 @@
                + payPassword;
        return PayUtil.md5(str);
    }
    public SmallWeChatDto getSmallWeChatDto(String communityId) {
        PaymentPoolDto paymentPoolDto = new PaymentPoolDto();
        paymentPoolDto.setCommunityId(communityId);
        paymentPoolDto.setPage(1);
        paymentPoolDto.setRow(10);
        List<PaymentPoolDto> paymentPoolDtos = paymentPoolV1InnerServiceSMOImpl.queryPaymentPools(paymentPoolDto);
        List<PaymentPoolDto> collect = paymentPoolDtos.stream().filter(e -> e.getPaymentType().equals("FUIOU")).collect(Collectors.toList());
        PaymentPoolValueDto paymentPoolValueDto = new PaymentPoolValueDto();
        paymentPoolValueDto.setPpId(collect.get(0).getPpId());
        paymentPoolValueDto.setCommunityId(communityId);
        List<PaymentPoolValueDto> values =  paymentPoolValueV1InnerServiceSMOImpl.queryPaymentPoolValues(paymentPoolValueDto);
        Map<String, List<PaymentPoolValueDto>> payMap = values.stream().collect(Collectors.groupingBy(PaymentPoolValueDto::getColumnKey));
        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
        if(payMap.containsKey("FUIOU_APP_ID")){
            smallWeChatDto.setAppId(payMap.get("FUIOU_APP_ID").get(0).getColumnValue());
        }else{
            smallWeChatDto.setAppId(MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "appId"));
        }
        if(payMap.containsKey("FUIOU_MCHNT_KEY")){
            smallWeChatDto.setAppSecret(payMap.get("FUIOU_MCHNT_KEY").get(0).getColumnValue());
        }else{
            smallWeChatDto.setAppSecret(MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "appSecret"));
        }
        if(payMap.containsKey("FUIOU_ORDER_PRE")){
            smallWeChatDto.setOrderPre(payMap.get("FUIOU_ORDER_PRE").get(0).getColumnValue());
        }
        if(payMap.containsKey("FUIOU_MERCHANT_ID")){
            smallWeChatDto.setMchId(payMap.get("FUIOU_MERCHANT_ID").get(0).getColumnValue());
        }else{
            smallWeChatDto.setMchId(MappingCache.getValue(MappingConstant.WECHAT_STORE_DOMAIN, "mchId"));
        }
        return smallWeChatDto;
    }
}
service-acct/src/main/java/com/java110/acct/cmd/payment/PcQrcodePaymentCmd.java
@@ -21,6 +21,7 @@
import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
import com.java110.utils.cache.CommonCache;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.cache.UrlCache;
import com.java110.utils.constant.MappingConstant;
import com.java110.utils.constant.WechatConstant;
import com.java110.utils.exception.CmdException;
@@ -141,16 +142,9 @@
        String token = GenerateCodeFactory.getUUID();
//
//
//        List<PaymentKeyDto> paymentKeyDtos = null;
//
//        PaymentKeyDto paymentKeyDto = new  PaymentKeyDto();
//        paymentKeyDto.setPaymentType("FUIOU");
//        paymentKeyDtos = paymentKeyV1InnerServiceSMOImpl.queryPaymentKeys(paymentKeyDto);
//
        // redis 中 保存 请求参数
        CommonCache.setValue("nativeQrcodePayment_" + token, reqJson.toJSONString(), CommonCache.PAY_DEFAULT_EXPIRE_TIME);
        JSONObject result = new JSONObject();
        String systemName = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.PAY_GOOD_NAME);
        JSONObject paramMap = new JSONObject();
        paramMap.put("version", VERSION);
@@ -176,12 +170,6 @@
        HttpEntity httpEntity = new HttpEntity(paramMap.toJSONString(), headers);
        ResponseEntity<String> responseEntity = outRestTemplate.exchange(PAY_UNIFIED_ORDER_URL
                , HttpMethod.POST, httpEntity, String.class);
        // redis 中 保存 请求参数
        CommonCache.setValue("nativeQrcodePayment_" + token, reqJson.toJSONString(), CommonCache.PAY_DEFAULT_EXPIRE_TIME);
        JSONObject result = new JSONObject();
        if(JSONObject.parseObject(responseEntity.getBody()).get("result_msg").equals("SUCCESS")){
            result.put("codeUrl", JSONObject.parseObject(responseEntity.getBody()).get("qr_code"));
            ResponseEntity<String> responseEntity2 = ResultVo.createResponseEntity(result);
service-acct/src/main/java/com/java110/acct/payment/adapt/fuiou/FuiouPaymentFactoryAdapt.java
@@ -1,6 +1,7 @@
package com.java110.acct.payment.adapt.fuiou;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.java110.acct.payment.IPaymentFactoryAdapt;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.factory.CommunitySettingFactory;
@@ -29,10 +30,7 @@
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -83,9 +81,12 @@
    public static final String TRADE_TYPE_JSAPI = "JSAPI";
    public static final String TRADE_TYPE_MWEB = "MWEB";
    public static final String TRADE_TYPE_APP = "APP";
    public static final String TRADE_TYPE_LETPAY = "LETPAY";
    @Value("${fuiou.pay.unified-order-url}")
    public String PAY_UNIFIED_ORDER_URL;
    @Value("${fuiou.pay.wx-order-url}")
    public String PAY_WX_ORDER_URL;
    private static final String VERSION = "1.0";
@@ -110,6 +111,7 @@
        SmallWeChatDto smallWeChatDto = getSmallWechat(reqJson);
        smallWeChatDto.setAppId(reqJson.getString("appId"));
        String appId = context.getReqHeaders().get("app-id");
        String userId = context.getReqHeaders().get("user-id");
@@ -118,25 +120,29 @@
        String openId = reqJson.getString("openId");
//        if(StringUtil.isEmpty(openId)) {
//            //由于现在只有006,所以写死WECHAT,后续如果有多种支付方式则重新设计
////            String appType = OwnerAppUserDto.APP_TYPE_WECHAT_MINA;
////            if (AppDto.WECHAT_OWNER_APP_ID.equals(appId)) {
////                appType = OwnerAppUserDto.APP_TYPE_WECHAT;
////            } else if (AppDto.WECHAT_MINA_OWNER_APP_ID.equals(appId)) {
////                appType = OwnerAppUserDto.APP_TYPE_WECHAT_MINA;
////            } else {
////                appType = OwnerAppUserDto.APP_TYPE_APP;
////            }
//            String appType = OwnerAppUserDto.APP_TYPE_WECHAT;
//            OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
//            ownerAppUserDto.setUserId(userId);
//            ownerAppUserDto.setAppType(appType);
//            List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
//
        if(StringUtil.isEmpty(openId)) {
            //由于现在只有006,所以写死WECHAT,后续如果有多种支付方式则重新设计
//            String appType = OwnerAppUserDto.APP_TYPE_WECHAT_MINA;
//            if (AppDto.WECHAT_OWNER_APP_ID.equals(appId)) {
//                appType = OwnerAppUserDto.APP_TYPE_WECHAT;
//            } else if (AppDto.WECHAT_MINA_OWNER_APP_ID.equals(appId)) {
//                appType = OwnerAppUserDto.APP_TYPE_WECHAT_MINA;
//            } else {
//                appType = OwnerAppUserDto.APP_TYPE_APP;
//            }
            String appType = OwnerAppUserDto.APP_TYPE_WECHAT;
            OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
            ownerAppUserDto.setUserId(userId);
            ownerAppUserDto.setAppType(appType);
            List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
//            Assert.listOnlyOne(ownerAppUserDtos, "未找到开放账号信息");
//            openId = ownerAppUserDtos.get(0).getOpenId();
//        }
            try{
                openId = ownerAppUserDtos.get(0).getOpenId();
            }catch (Exception e){
            }
        }
        logger.debug("【小程序支付】 统一下单开始, 订单编号=" + paymentOrderDto.getOrderId());
@@ -146,20 +152,37 @@
        //添加或更新支付记录(参数跟进自己业务需求添加)
        JSONObject resMap = null;
        resMap = this.java110UnifieldOrder(
                paymentOrderDto.getName(),
                paymentOrderDto.getOrderId(),
                tradeType,
                payAmount,
                openId,
                smallWeChatDto,
                notifyUrl
        );
        if (TRADE_TYPE_LETPAY.equals(tradeType)){
            resMap = this.java110UnifieldOrder(paymentOrderDto.getName(),
                    paymentOrderDto.getOrderId(),
                    tradeType,
                    payAmount,
                    openId,
                    smallWeChatDto,
                    notifyUrl
            );
        }else{
            resMap = this.java110UnifieldOrder(paymentOrderDto.getName(),
                    paymentOrderDto.getOrderId(),
                    tradeType,
                    payAmount,
                    openId,
                    smallWeChatDto,
                    notifyUrl
            );
        }
        if ("000000".equals(resMap.getString("result_code"))) {
            if (TRADE_TYPE_JSAPI.equals(tradeType)) {
//                resultMap.putAll(JSONObject.toJavaObject(JSONObject.parseObject(resMap.getString("reserved_pay_info")), Map.class));
            if (TRADE_TYPE_LETPAY.equals(tradeType)) {
                resultMap.putAll(JSONObject.toJavaObject(JSONObject.parseObject(resMap.getString("reserved_pay_info")), Map.class));
                resultMap.put("sign", resultMap.get("paySign"));
                resultMap.put("timeStamp", resMap.get("sdk_timestamp").toString());
                resultMap.put("nonceStr", resMap.get("sdk_noncestr").toString());
                resultMap.put("package", resMap.get("sdk_package").toString());
                resultMap.put("signType", resMap.get("sdk_signtype").toString());
                resultMap.put("paySign", resMap.get("sdk_paysign").toString());
                resultMap.put("payAppId", resMap.get("sdk_appid").toString());
            } else if (TRADE_TYPE_APP.equals(tradeType)) {
                resultMap.put("appId", smallWeChatDto.getAppId());
                resultMap.put("timeStamp", PayUtil.getCurrentTimeStamp());
@@ -167,14 +190,15 @@
                resultMap.put("partnerid", smallWeChatDto.getMchId());
                resultMap.put("prepayid", resMap.getString("session_id"));
                //resultMap.put("signType", "MD5");
                resultMap.put("sign", PayUtil.createSign(resultMap, smallWeChatDto.getPayPassword()));
                resultMap.put("sign", PayUtil.createSign(resultMap, smallWeChatDto.getAppSecret()));
            } else if (TRADE_TYPE_NATIVE.equals(tradeType)) {
                resultMap.put("prepayId", resMap.getString("session_id"));
                resultMap.put("codeUrl", resMap.getString("qr_code"));
            }
            resultMap.put("qrCode", resMap.getString("qr_code"));
            resultMap.put("code", "0");
            resultMap.put("msg", "下单成功");
            resultMap.put("qrCode", resMap.getString("qr_code"));
            logger.info("【小程序支付】统一下单成功,返回参数:" + resultMap);
        } else {
            resultMap.put("code", resMap.getString("result_code"));
@@ -196,21 +220,48 @@
//        String orderPre = CommunitySettingFactory.getValue(smallWeChatDto.getObjId(), "FUIOU_ORDER_PRE");
        String orderPre = smallWeChatDto.getOrderPre();
        JSONObject paramMap = new JSONObject();
        if (tradeType == null){
            paramMap.put("version", VERSION);
            paramMap.put("mchnt_cd", smallWeChatDto.getMchId()); // 富友分配给二级商户的商户号
            paramMap.put("random_str", PayUtil.makeUUID(32));
            paramMap.put("order_amt", PayUtil.moneyToIntegerStr(payAmount));
            paramMap.put("mchnt_order_no", orderPre + orderNum);
            paramMap.put("txn_begin_ts", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_DEFAULT));
            paramMap.put("goods_des", "cesdasw");
            paramMap.put("term_id", "abcdefgh");
            paramMap.put("term_ip", PayUtil.getLocalIp());
            paramMap.put("notify_url", notifyUrl + "?wId=" + WechatFactory.getWId(smallWeChatDto.getAppId()));
            paramMap.put("order_type", "WECHAT");
            paramMap.put("sub_openid", openid);
            paramMap.put("sub_appid", smallWeChatDto.getAppId());
            paramMap.put("sign", createSignByQrCode(paramMap, smallWeChatDto.getAppSecret()));
            logger.debug("调用支付统一下单接口" + paramMap.toJSONString());
            HttpHeaders headers = new HttpHeaders();
            headers.add("Content-Type", "application/json");
            HttpEntity httpEntity = new HttpEntity(paramMap.toJSONString(), headers);
            ResponseEntity<String> responseEntity = outRestTemplate.exchange(
                    PAY_UNIFIED_ORDER_URL, HttpMethod.POST, httpEntity, String.class);
            logger.debug("统一下单返回" + responseEntity);
            if (responseEntity.getStatusCode() != HttpStatus.OK) {
                throw new IllegalArgumentException("支付失败" + responseEntity.getBody());
            }
            return JSONObject.parseObject(responseEntity.getBody());
        }
        paramMap.put("version", VERSION);
        paramMap.put("mchnt_cd", smallWeChatDto.getMchId()); // 富友分配给二级商户的商户号
        paramMap.put("order_type", "WECHAT");
//        paramMap.put("order_amt", PayUtil.moneyToIntegerStr(payAmount));
        paramMap.put("order_amt", (int)(payAmount*100));
//        paramMap.put("order_amt", 1);
        paramMap.put("random_str", PayUtil.makeUUID(32));
        paramMap.put("order_amt", PayUtil.moneyToIntegerStr(payAmount));
        paramMap.put("mchnt_order_no", orderPre + orderNum);
        paramMap.put("txn_begin_ts", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_DEFAULT));
        paramMap.put("goods_des", feeName);
        paramMap.put("goods_des", "cesdasw");
        paramMap.put("term_id", "abcdefgh");
        paramMap.put("term_ip", PayUtil.getLocalIp());
        paramMap.put("notify_url", notifyUrl + "?wId=" + WechatFactory.getWId(smallWeChatDto.getAppId()));
        paramMap.put("random_str", PayUtil.makeUUID(32));
        paramMap.put("version", VERSION);
        paramMap.put("trade_type", tradeType);
//        paramMap.put("sub_openid", openid);
        paramMap.put("sub_openid", openid);
        paramMap.put("sub_appid", smallWeChatDto.getAppId());
        paramMap.put("sign", createSign(paramMap, smallWeChatDto.getAppSecret()));
@@ -219,7 +270,7 @@
        headers.add("Content-Type", "application/json");
        HttpEntity httpEntity = new HttpEntity(paramMap.toJSONString(), headers);
        ResponseEntity<String> responseEntity = outRestTemplate.exchange(
                PAY_UNIFIED_ORDER_URL, HttpMethod.POST, httpEntity, String.class);
                PAY_WX_ORDER_URL, HttpMethod.POST, httpEntity, String.class);
        logger.debug("统一下单返回" + responseEntity);
@@ -267,7 +318,7 @@
            String wId = map.get("wId").toString();
            wId = wId.replace(" ", "+");
            appId = WechatFactory.getAppId(wId);
        } else if(map.containsKey("appId")) {
        } else {
            appId = map.get("appid").toString();
        }
        SortedMap<String, String> paramMap = new TreeMap<String, String>();
@@ -284,7 +335,7 @@
        paramIn.put("communityId",notifyPaymentOrderDto.getCommunityId());
        SmallWeChatDto smallWeChatDto = getSmallWechat(paramIn);
        String sign = createSign(map, smallWeChatDto.getPayPassword());
        String sign = createSign(map, smallWeChatDto.getAppSecret());
        if (!sign.equals(map.get("sign"))) {
//            throw new IllegalArgumentException("鉴权失败");
@@ -298,14 +349,6 @@
    private SmallWeChatDto getSmallWechat(JSONObject paramIn) {
//        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
//        smallWeChatDto.setObjId(paramIn.getString("communityId"));
//        smallWeChatDto.setAppId(paramIn.getString("appId"));
//        smallWeChatDto.setPage(1);
//        smallWeChatDto.setRow(1);
//        List<SmallWeChatDto> smallWeChatDtos = smallWechatV1InnerServiceSMOImpl.querySmallWechats(smallWeChatDto);
//        if (smallWeChatDtos == null || smallWeChatDtos.size() < 1) {
        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
        //由于富有支付方式要从数据库里面取值,所以此处要查询
        PaymentPoolDto paymentPoolDto = new PaymentPoolDto();
@@ -356,7 +399,7 @@
     */
    private String createSign(JSONObject paramMap, String payPassword) {
        String str = paramMap.getString("mchnt_cd") + "|"
                + paramMap.getString("order_type") + "|"
                + paramMap.getString("trade_type") + "|"
                + paramMap.getString("order_amt") + "|"
                + paramMap.getString("mchnt_order_no") + "|"
                + paramMap.getString("txn_begin_ts") + "|"
@@ -370,4 +413,21 @@
        return PayUtil.md5(str);
    }
    private String createSignByQrCode(JSONObject paramMap, String payPassword) {
        String str = paramMap.getString("mchnt_cd") + "|"
                + paramMap.getString("order_type") + "|"
                + paramMap.getString("order_amt") + "|"
                + paramMap.getString("mchnt_order_no") + "|"
                + paramMap.getString("txn_begin_ts") + "|"
                + paramMap.getString("goods_des") + "|"
                + paramMap.getString("term_id") + "|"
                + paramMap.getString("term_ip") + "|"
                + paramMap.getString("notify_url") + "|"
                + paramMap.getString("random_str") + "|"
                + paramMap.getString("version") + "|"
                + payPassword;
        return PayUtil.md5(str);
    }
}
service-acct/src/main/java/com/java110/acct/smo/impl/NotifyPaymentV1InnerServiceSMOImpl.java
@@ -88,7 +88,6 @@
            IPaymentFactoryAdapt tPayNotifyAdapt = ApplicationContextFactory.getBean(payNotifyAdapt, IPaymentFactoryAdapt.class);
            PaymentOrderDto paymentOrderDto = tPayNotifyAdapt.java110NotifyPayment(notifyPaymentOrderDto);
            String orderId = paymentOrderDto.getOrderId();
            String str[] = orderId.split("18983");
            paymentOrderDto.setOrderId(str[1]);
            logger.info("【支付回调响应】 响应内容:\n" + paymentOrderDto.getResponseEntity());
service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -59,7 +59,7 @@
    /**
     * 导入最大行数
     */
    public static final int MAX_LINE = 5000;
    public static final int MAX_LINE = 10000;
    /**
     * 导入最大行数
service-api/src/main/java/com/java110/api/smo/payment/adapt/fuiouPay/FuiouPayAdapt.java
@@ -72,6 +72,8 @@
    //微信支付
    @Value("${fuiou.pay.unified-order-url}")
    public String PAY_UNIFIED_ORDER_URL;
    @Value("${fuiou.pay.wx-order-url}")
    public String PAY_WX_ORDER_URL;
    private static final String VERSION = "1.0";
@@ -170,7 +172,7 @@
        paramMap.put("version", VERSION);
        paramMap.put("mchnt_cd", smallWeChatDto.getMchId()); // 富友分配给二级商户的商户号
        paramMap.put("random_str", PayUtil.makeUUID(32));
        paramMap.put("order_amt", (int)(payAmount*100));
        paramMap.put("order_amt", PayUtil.moneyToIntegerStr(payAmount));
        paramMap.put("mchnt_order_no", orderPre + orderNum);
        paramMap.put("txn_begin_ts", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_DEFAULT));
        paramMap.put("goods_des", systemName + feeName);
springboot/src/main/resources/application-debug.yml
@@ -6,6 +6,7 @@
fuiou:
  pay:
    unified-order-url: https://aipaytest.fuioupay.com/aggregatePay/preCreate
    wx-order-url: https://aipaytest.fuioupay.com/aggregatePay/wxPreCreate
    env: test
spring:
springboot/src/main/resources/application-debugg.yml
@@ -6,6 +6,7 @@
fuiou:
  pay:
    unified-order-url: https://aipaytest.fuioupay.com/aggregatePay/preCreate
    wx-order-url: https://aipaytest.fuioupay.com/aggregatePay/wxPreCreate
    env: test
spring:
springboot/src/main/resources/application-dev.yml
@@ -6,6 +6,7 @@
fuiou:
  pay:
    unified-order-url: https://aipay-cloud.fuioupay.com/aggregatePay/preCreate
    wx-order-url: https://aipay-cloud.fuioupay.com/aggregatePay/wxPreCreate
    env: dev
spring:
springboot/src/main/resources/application-devlocal.yml
@@ -6,6 +6,7 @@
fuiou:
  pay:
    unified-order-url: https://aipaytest.fuioupay.com/aggregatePay/preCreate
    wx-order-url: https://aipaytest.fuioupay.com/aggregatePay/wxPreCreate
    env: test
spring:
springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active:  debug
    active:  dev
#  docker build -t lx .