|  | @@ -18,6 +18,7 @@ import com.fs.huifuPay.service.HuiFuService;
 | 
											
												
													
														|  |  import com.fs.huifuPay.sdk.opps.core.utils.DateTools;
 |  |  import com.fs.huifuPay.sdk.opps.core.utils.DateTools;
 | 
											
												
													
														|  |  import com.fs.system.domain.SysConfig;
 |  |  import com.fs.system.domain.SysConfig;
 | 
											
												
													
														|  |  import com.fs.system.mapper.SysConfigMapper;
 |  |  import com.fs.system.mapper.SysConfigMapper;
 | 
											
												
													
														|  | 
 |  | +import com.google.common.collect.Lists;
 | 
											
												
													
														|  |  import com.google.gson.Gson;
 |  |  import com.google.gson.Gson;
 | 
											
												
													
														|  |  import io.lettuce.core.ScriptOutputType;
 |  |  import io.lettuce.core.ScriptOutputType;
 | 
											
												
													
														|  |  import org.slf4j.Logger;
 |  |  import org.slf4j.Logger;
 | 
											
										
											
												
													
														|  | @@ -26,8 +27,10 @@ import org.springframework.beans.BeanUtils;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import java.math.BigDecimal;
 |  |  import java.math.BigDecimal;
 | 
											
												
													
														|  | 
 |  | +import java.text.DecimalFormat;
 | 
											
												
													
														|  |  import java.time.LocalDateTime;
 |  |  import java.time.LocalDateTime;
 | 
											
												
													
														|  |  import java.time.format.DateTimeFormatter;
 |  |  import java.time.format.DateTimeFormatter;
 | 
											
												
													
														|  | 
 |  | +import java.util.ArrayList;
 | 
											
												
													
														|  |  import java.util.HashMap;
 |  |  import java.util.HashMap;
 | 
											
												
													
														|  |  import java.util.Map;
 |  |  import java.util.Map;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -341,25 +344,57 @@ public class HuiFuServiceImpl implements HuiFuService {
 | 
											
												
													
														|  |              JSONObject acct_split_bunch = new JSONObject();
 |  |              JSONObject acct_split_bunch = new JSONObject();
 | 
											
												
													
														|  |              //其它三个分账信息(随机获取一个)
 |  |              //其它三个分账信息(随机获取一个)
 | 
											
												
													
														|  |              JSONArray acct_infos = new JSONArray();
 |  |              JSONArray acct_infos = new JSONArray();
 | 
											
												
													
														|  | -            JSONObject acct_other = new JSONObject();
 |  | 
 | 
											
												
													
														|  | -            acct_other.put("huifu_id",confirm.getDivHuifuId());
 |  | 
 | 
											
												
													
														|  | -            acct_other.put("div_amt",confirm.getDivAmt());
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -            JSONObject acct_ysy = new JSONObject();
 |  | 
 | 
											
												
													
														|  | -            acct_ysy.put("huifu_id",confirm.getYsyHuifuId());
 |  | 
 | 
											
												
													
														|  | -            acct_ysy.put("div_amt",confirm.getYsyDivAmt());
 |  | 
 | 
											
												
													
														|  | -            acct_infos.add(acct_other);
 |  | 
 | 
											
												
													
														|  | -            acct_infos.add(acct_ysy);
 |  | 
 | 
											
												
													
														|  | -            acct_split_bunch.put("acct_infos",acct_infos);
 |  | 
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -            extendInfoMap.put("acct_split_bunch",acct_split_bunch);
 |  | 
 | 
											
												
													
														|  | -            logger.info("交易确认传参:"+request);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            //配置商户号
 | 
											
												
													
														|  | 
 |  | +            String configHuifuId = config.getHuifuId();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +            String zyyHuifuId;
 | 
											
												
													
														|  | 
 |  | +            String otherHuifuId = null;
 | 
											
												
													
														|  | 
 |  | +            BigDecimal ysyAmount;
 | 
											
												
													
														|  | 
 |  | +            BigDecimal otherAmount = null;
 | 
											
												
													
														|  | 
 |  | +            DecimalFormat df = new DecimalFormat("#0.00");
 | 
											
												
													
														|  | 
 |  | +            //TODO 中医院商户暂时不分账到其它商户 后续需要判断是否推ERP类型分账
 | 
											
												
													
														|  | 
 |  | +            if("6666000175632107".equals(configHuifuId)){
 | 
											
												
													
														|  | 
 |  | +                //中医院分账信息
 | 
											
												
													
														|  | 
 |  | +                JSONObject acct_ysy = new JSONObject();
 | 
											
												
													
														|  | 
 |  | +                acct_ysy.put("huifu_id",configHuifuId);
 | 
											
												
													
														|  | 
 |  | +                acct_ysy.put("div_amt",df.format(confirm.getTotalAmount()));
 | 
											
												
													
														|  | 
 |  | +                acct_infos.add(acct_ysy);
 | 
											
												
													
														|  | 
 |  | +                ysyAmount = confirm.getTotalAmount();
 | 
											
												
													
														|  | 
 |  | +                zyyHuifuId = configHuifuId;
 | 
											
												
													
														|  | 
 |  | +            } else {
 | 
											
												
													
														|  | 
 |  | +                //TODO 商城订单分账 暂时分账20%到中医院 80%随机到广珍堂或者久运
 | 
											
												
													
														|  | 
 |  | +                ArrayList<String> huifuIds = Lists.newArrayList("6666000177633376", "6666000179192557");
 | 
											
												
													
														|  | 
 |  | +                int i = (int) (Math.random() * huifuIds.size());
 | 
											
												
													
														|  | 
 |  | +                otherHuifuId = huifuIds.get(i);
 | 
											
												
													
														|  | 
 |  | +                zyyHuifuId = "6666000175632107";
 | 
											
												
													
														|  | 
 |  | +                ysyAmount = confirm.getTotalAmount().multiply(new BigDecimal("0.2"));
 | 
											
												
													
														|  | 
 |  | +                otherAmount = confirm.getTotalAmount().subtract(ysyAmount);
 | 
											
												
													
														|  | 
 |  | +                //其他分账信息
 | 
											
												
													
														|  | 
 |  | +                JSONObject acct_other = new JSONObject();
 | 
											
												
													
														|  | 
 |  | +                acct_other.put("huifu_id",otherHuifuId);
 | 
											
												
													
														|  | 
 |  | +                acct_other.put("div_amt",df.format(otherAmount));
 | 
											
												
													
														|  | 
 |  | +                acct_infos.add(acct_other);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                //中医院分账信息
 | 
											
												
													
														|  | 
 |  | +                JSONObject acct_ysy = new JSONObject();
 | 
											
												
													
														|  | 
 |  | +                acct_ysy.put("huifu_id",zyyHuifuId);
 | 
											
												
													
														|  | 
 |  | +                acct_ysy.put("div_amt",df.format(ysyAmount));
 | 
											
												
													
														|  | 
 |  | +                acct_infos.add(acct_ysy);
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +            acct_split_bunch.put("acct_infos",acct_infos);
 | 
											
												
													
														|  | 
 |  | +            extendInfoMap.put("acct_split_bunch",JSON.toJSONString(acct_split_bunch));
 | 
											
												
													
														|  |              request.setExtendInfo(extendInfoMap);
 |  |              request.setExtendInfo(extendInfoMap);
 | 
											
												
													
														|  | 
 |  | +            logger.info("交易确认传参:"+request);
 | 
											
												
													
														|  |              Map<String, Object> response = doExecute(request);
 |  |              Map<String, Object> response = doExecute(request);
 | 
											
												
													
														|  |              logger.info("交易确认返回:"+response);
 |  |              logger.info("交易确认返回:"+response);
 | 
											
												
													
														|  |              String jsonString = JSONObject.toJSONString(response);
 |  |              String jsonString = JSONObject.toJSONString(response);
 | 
											
												
													
														|  |              logger.info("交易确认返回:"+jsonString);
 |  |              logger.info("交易确认返回:"+jsonString);
 | 
											
												
													
														|  |              huifuOrderConfirmResult = JSON.parseObject(jsonString, HuifuOrderConfirmResult.class);
 |  |              huifuOrderConfirmResult = JSON.parseObject(jsonString, HuifuOrderConfirmResult.class);
 | 
											
												
													
														|  | 
 |  | +            huifuOrderConfirmResult.setOtherHuifuId(otherHuifuId);
 | 
											
												
													
														|  | 
 |  | +            huifuOrderConfirmResult.setOtherAmount(otherAmount);
 | 
											
												
													
														|  | 
 |  | +            huifuOrderConfirmResult.setZyzHuifuId(zyyHuifuId);
 | 
											
												
													
														|  | 
 |  | +            huifuOrderConfirmResult.setYsyAmount(ysyAmount);
 | 
											
												
													
														|  |          }catch (Exception e){
 |  |          }catch (Exception e){
 | 
											
												
													
														|  |              logger.info("交易确认失败 :"+e);
 |  |              logger.info("交易确认失败 :"+e);
 | 
											
												
													
														|  |              throw  new CustomException("交易确认失败");
 |  |              throw  new CustomException("交易确认失败");
 | 
											
										
											
												
													
														|  | @@ -367,25 +402,61 @@ public class HuiFuServiceImpl implements HuiFuService {
 | 
											
												
													
														|  |          return huifuOrderConfirmResult;
 |  |          return huifuOrderConfirmResult;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public HuifuConfirmrefundResult confirmRefund(V2TradePaymentDelaytransConfirmrefundRequest request,String appId) {
 | 
											
												
													
														|  | 
 |  | +        logger.info("交易确认退款传参:{}", request);
 | 
											
												
													
														|  | 
 |  | +        HuifuConfirmrefundResult huifuConfirmrefundResult = null;
 | 
											
												
													
														|  | 
 |  | +        try {
 | 
											
												
													
														|  | 
 |  | +            if (appId != null) {
 | 
											
												
													
														|  | 
 |  | +                FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
 | 
											
												
													
														|  | 
 |  | +                FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(appId);
 | 
											
												
													
														|  | 
 |  | +                if (fsHfpayConfig != null) {
 | 
											
												
													
														|  | 
 |  | +                    //多汇付支付获取配置
 | 
											
												
													
														|  | 
 |  | +                    doInit(getMerConfig(fsHfpayConfig));
 | 
											
												
													
														|  | 
 |  | +                } else {
 | 
											
												
													
														|  | 
 |  | +                    //多小程序
 | 
											
												
													
														|  | 
 |  | +                    doInit(getMerConfig());
 | 
											
												
													
														|  | 
 |  | +                }
 | 
											
												
													
														|  | 
 |  | +            } else {
 | 
											
												
													
														|  | 
 |  | +                doInit(getMerConfig());
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +            request.setReqDate(DateTools.getCurrentDateYYYYMMDD());
 | 
											
												
													
														|  | 
 |  | +            Map<String, Object> response = doExecute(request);
 | 
											
												
													
														|  | 
 |  | +            String jsonString = JSONObject.toJSONString(response);
 | 
											
												
													
														|  | 
 |  | +            huifuConfirmrefundResult = JSON.parseObject(jsonString, HuifuConfirmrefundResult.class);
 | 
											
												
													
														|  | 
 |  | +        } catch (Exception e) {
 | 
											
												
													
														|  | 
 |  | +            throw new RuntimeException("创建交易确认退款失败");
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        return huifuConfirmrefundResult;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      public MerConfig getMerConfig(){
 |  |      public MerConfig getMerConfig(){
 | 
											
												
													
														|  |          SysConfigMapper sysConfigMapper= SpringUtils.getBean(SysConfigMapper.class);
 |  |          SysConfigMapper sysConfigMapper= SpringUtils.getBean(SysConfigMapper.class);
 | 
											
												
													
														|  |          SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.pay");
 |  |          SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.pay");
 | 
											
												
													
														|  |          FsPayConfig fsPayConfig = new Gson().fromJson(sysConfig.getConfigValue(), FsPayConfig.class);
 |  |          FsPayConfig fsPayConfig = new Gson().fromJson(sysConfig.getConfigValue(), FsPayConfig.class);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -//        FsPayConfig fsPayConfig = new FsPayConfig();
 |  | 
 | 
											
												
													
														|  | -//        fsPayConfig.setAppId("wx646836bf3f7d4227");
 |  | 
 | 
											
												
													
														|  | -//        fsPayConfig.setHfProductId("KAZX");
 |  | 
 | 
											
												
													
														|  | -//        fsPayConfig.setHfSysId("6666000175632107");
 |  | 
 | 
											
												
													
														|  | -//        fsPayConfig.setHuifuId("6666000175632107");
 |  | 
 | 
											
												
													
														|  | -        //fsPayConfig.setHfRsaPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCijLcYLMJEe16TS6BtEG9hUezZyYvp2qgpPVGWaaBbb6lud89ILMUC7jyTWufCo2fUQ0nJzYhVlNeMzmGFtg/zFwhkjJIkuCOW+/Koy1ow66Rom8/sNQLb82szHoeklbv17AnD7WJis7cGyy1+3E6jzfaPOB7PTzidK6KyfCWDByOt0JcGe3+6+9+loQFbFRXJ2RpWPQeN72n9FVtSKSvgkGtJNUzh/qBwMPN6ol6xcU/Z2o1sYrRfKC4tcMqccRi/DvvZFJPVlN+YqkJ6lhgAmJg7eZ2fhIgrmzqc96UKp2YUNm+1v8XHCflD9Wv94E6D2JgL4VbF4Zyf+fKYuR7pAgMBAAECggEAfy5UL6ENmuFgHSVF7y+1xdKA2+IbC60ed63XgTVB12jli15Im3MT7ngSg0TUIvERUv4W5MNgkX10rWHo4eKSViPGWE24JuzAQ+j7cuAwwCgPKh4HMAxGIWwyivuvK7JQL1kwRtEccpekc7dS8HhVO0rySBqj2JZmeGrk0HvcKciSWuMjhjT4dJUwSntD07REV6rVjrpQXuvmY40vH88uvHLdH1IcjmJs2yJRNawUNtd+8FvpOCjami7zpB+er+AQ6S2fvpljNqfE5Kadm3MvzBngDdMS3xRvMHfjCifVwFpLP0rLDP6cSn6PJWbkNYQVZi12w8+wb5f7AVlaKXnfdQKBgQDh7VC5+MOqfcUr9h/n2vhFFhQOaGAZCOBc65n8VBj9aRht8ViXFvRrIRmM+QvUbV9/7taFbtAnZXIzu+12T4vnlZv9DTsy6kKloV5923xZ4CpzIVG8crlwJz1wdALeO6M485RtRLjz6nlNKn2m2VJ1d5XFBDhIz5rWUzagPwwpwwKBgQC4L8Eyu6Yn/zQmv8l6rfAsEfUJzfYtojf1PerPYilARtgFuD20cppcOP5oAk2TTX3qaz0Y9atCfL2z2qxtrgKtw2etfhDBmT6l6+pg04SLuyTrVeZ5dxXHt+LRLJnvBbGgnvAM6rSRKdHXT0gfqiRIMw2qIUtndgRr4RK5hqcd4wKBgBYBFh620t/VFhIdC6h6VDnuV4+7rLhje+6w57OCwVhVFxMGMZmtm6qfc6yeSP+sk2OTcINYcp+TqtbNE+i1AKxSjvnLgxuHY2xcViat7OOYCKpj8WEIT3VT7RD5y5m3d0NBvhASZG0lRiE05T4N5pEYT5b7vTuiNLNxMV3UJiwfAoGBAIb2/1QEqwmN+RIX4TSTNnWkpvELSkRAJU8Akwpp/J5MC0mNqzGJ9NB1Nv7SCTRSSV04PaoHgvoSXBPpvgYUx4O6t0MrKG4ktAJzL+jJtcuKU9Bavqrs9znE5mCulRHQE0wGixJ7/dqNUWW7g7coPrPlLTMoeI+UrEK8x7LJF7ZPAoGALHvtu6zzWVeCdELIPUTersVQrH1R3yZuf6rgubg4XFw3meFcd4W8BvXm4EKGRZxdiyZvCtKlkV9u110Rx3RNSbZCOb3MClmkcow8vPIhmyGWIGymAIxr9JcD0p6HogzPvbjRsLh1nFg/+95OL2E353Bp4/oPIgYIfnYNUfD+0gA=");
 |  | 
 | 
											
												
													
														|  | -        //fsPayConfig.setHfRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjbkiiy2ewzuPsM5uZbAFMJOBWCRRQ2RtH7Dbr9Evbow6IEyvGoen8XKpiuXzapeps3b2eogETHVFQtLooqRHpVRppFKtU1AHZXA7C6wPocfMldJbTykDCowyJwOSYEaFPBjr9cw6dQcBJMIEHj0YWjBPR1dPVzf+y4sUohbrkS/FANBpp24j+Mu0qEqh8TuVuKlvig7jbmXJiJkAmUJ+Tb3Caj20fFTen6juPd3zR/KM3twki06wZZbb4KyCiM/NwozEqJ9PkWSs6rG7aW+BEfzlo3m1a7MlL0vpKNR3f0lbywq09rFAwtA7R2lssWwLMma4LOqtMMqo3yZdv4vObQIDAQAB");
 |  | 
 | 
											
												
													
														|  | -        //fsPayConfig.setHfRsaPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCijLcYLMJEe16TS6BtEG9hUezZyYvp2qgpPVGWaaBbb6lud89ILMUC7jyTWufCo2fUQ0nJzYhVlNeMzmGFtg/zFwhkjJIkuCOW+/Koy1ow66Rom8/sNQLb82szHoeklbv17AnD7WJis7cGyy1+3E6jzfaPOB7PTzidK6KyfCWDByOt0JcGe3+6+9+loQFbFRXJ2RpWPQeN72n9FVtSKSvgkGtJNUzh/qBwMPN6ol6xcU/Z2o1sYrRfKC4tcMqccRi/DvvZFJPVlN+YqkJ6lhgAmJg7eZ2fhIgrmzqc96UKp2YUNm+1v8XHCflD9Wv94E6D2JgL4VbF4Zyf+fKYuR7pAgMBAAECggEAfy5UL6ENmuFgHSVF7y+1xdKA2+IbC60ed63XgTVB12jli15Im3MT7ngSg0TUIvERUv4W5MNgkX10rWHo4eKSViPGWE24JuzAQ+j7cuAwwCgPKh4HMAxGIWwyivuvK7JQL1kwRtEccpekc7dS8HhVO0rySBqj2JZmeGrk0HvcKciSWuMjhjT4dJUwSntD07REV6rVjrpQXuvmY40vH88uvHLdH1IcjmJs2yJRNawUNtd+8FvpOCjami7zpB+er+AQ6S2fvpljNqfE5Kadm3MvzBngDdMS3xRvMHfjCifVwFpLP0rLDP6cSn6PJWbkNYQVZi12w8+wb5f7AVlaKXnfdQKBgQDh7VC5+MOqfcUr9h/n2vhFFhQOaGAZCOBc65n8VBj9aRht8ViXFvRrIRmM+QvUbV9/7taFbtAnZXIzu+12T4vnlZv9DTsy6kKloV5923xZ4CpzIVG8crlwJz1wdALeO6M485RtRLjz6nlNKn2m2VJ1d5XFBDhIz5rWUzagPwwpwwKBgQC4L8Eyu6Yn/zQmv8l6rfAsEfUJzfYtojf1PerPYilARtgFuD20cppcOP5oAk2TTX3qaz0Y9atCfL2z2qxtrgKtw2etfhDBmT6l6+pg04SLuyTrVeZ5dxXHt+LRLJnvBbGgnvAM6rSRKdHXT0gfqiRIMw2qIUtndgRr4RK5hqcd4wKBgBYBFh620t/VFhIdC6h6VDnuV4+7rLhje+6w57OCwVhVFxMGMZmtm6qfc6yeSP+sk2OTcINYcp+TqtbNE+i1AKxSjvnLgxuHY2xcViat7OOYCKpj8WEIT3VT7RD5y5m3d0NBvhASZG0lRiE05T4N5pEYT5b7vTuiNLNxMV3UJiwfAoGBAIb2/1QEqwmN+RIX4TSTNnWkpvELSkRAJU8Akwpp/J5MC0mNqzGJ9NB1Nv7SCTRSSV04PaoHgvoSXBPpvgYUx4O6t0MrKG4ktAJzL+jJtcuKU9Bavqrs9znE5mCulRHQE0wGixJ7/dqNUWW7g7coPrPlLTMoeI+UrEK8x7LJF7ZPAoGALHvtu6zzWVeCdELIPUTersVQrH1R3yZuf6rgubg4XFw3meFcd4W8BvXm4EKGRZxdiyZvCtKlkV9u110Rx3RNSbZCOb3MClmkcow8vPIhmyGWIGymAIxr9JcD0p6HogzPvbjRsLh1nFg/+95OL2E353Bp4/oPIgYIfnYNUfD+0gA=");
 |  | 
 | 
											
												
													
														|  | -        //fsPayConfig.setHfRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjbkiiy2ewzuPsM5uZbAFMJOBWCRRQ2RtH7Dbr9Evbow6IEyvGoen8XKpiuXzapeps3b2eogETHVFQtLooqRHpVRppFKtU1AHZXA7C6wPocfMldJbTykDCowyJwOSYEaFPBjr9cw6dQcBJMIEHj0YWjBPR1dPVzf+y4sUohbrkS/FANBpp24j+Mu0qEqh8TuVuKlvig7jbmXJiJkAmUJ+Tb3Caj20fFTen6juPd3zR/KM3twki06wZZbb4KyCiM/NwozEqJ9PkWSs6rG7aW+BEfzlo3m1a7MlL0vpKNR3f0lbywq09rFAwtA7R2lssWwLMma4LOqtMMqo3yZdv4vObQIDAQAB");
 |  | 
 | 
											
												
													
														|  | -        //fsPayConfig.setHfPayNotifyUrl("https://userapp.ysya.top/ceshiname/app/hfPay/payNotifyUrl");
 |  | 
 | 
											
												
													
														|  | 
 |  | +        //FsPayConfig fsPayConfig = new FsPayConfig();
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfPayNotifyUrl("https://userapp.ysya.top/ceshi/app/hfPay/payNotifyUrl");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        //互联网医院
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setAppId("wx646836bf3f7d4227");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfProductId("KAZX");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfSysId("6666000175632107");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHuifuId("6666000175632107");
 | 
											
												
													
														|  |          //fsPayConfig.setHfRsaPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCOLOsfdbmB5qe7HTwbpxNQW0+5O6+im/7x+ZOBCf30FftYYRvnzbcsbvdBZa7745d7OgMB9Drd6vWah5Xp4uGf+tZOwGMHm6C8lphswJp3d1vPARuZulw4WSaIm+b8M2zEg+IMZiGhFC+H6fjtQm2jBz+Szvfa+MPwOzdJNcczpv56dujjz3G8Pf5aizZWjz5ovuWSSwdnmP8OAPBYhQaaBF4JyrIv5s89Vm+xIVlvvMcTo8uNf7HbKgUR27fjxyTtcJAlZUc/7XuBxNXTknxP1taiJU4XXeNpsPnLq31KwCsacPFZ5/QHvgkaDFjmImWaHUESMAFT/bkZvbV+PJvXAgMBAAECggEAYenRa3MZ9Loy3Yw+rxSbGoYoG3tdc/FW3LJywTVubcENvknye+uSsMkjAyjSH6sX0ceb9qaKO/bqeifSOKcFl7WaDdY03TJyui5EfvEN8CSFV8R9i5tqk2viO8aShzGrQJNLBBr6IgLS0RlzU4KiGtqND7/1thoIZtOBOawNqiXarFQo7i5DpsV6cZhw5Pk/JP5eQMhcVnyDmjYSKIcbCtkOmYHgxjXt79JnJBrwhHQ3gmdFO43XtuH+LPtg7tsvLetwIX1s5KdGJqXuDwFa/grFpTVa/oHZ0vebdHyNKn2WFbXEuGZP+GsudOEMRYIpyyPIJEzHmlXJs5SbYeLgUQKBgQDHEPUfOiqFg2APYtSFH751tPRRpqI0RZf9D3c/OEUXBCAEbVFocIPVexk+HNS3MXkzxTHS+ULRSCnmaSMKIcjJgX8ekatwNKzUbnXT9R4w2hSqp0vI1o9pNASe5dLQAKnp9WzyXAYeRxflQ+wb/d4xfwn4oqxti66TMBkhYpPY7QKBgQC21pYNZVADjQWKMVvbqqvHec22iTCpqmwJtD90Ze3DLI0SjJnPSeSRkMb71wNQYITH6pdFqw5KpdgxuQlefA6is3mSQ+Ovk+bCG84Ii5b2SAVUfUnknJA4OnPKn9TJs0C8BtpN7wQDKI2wTw5GGqdsDu2ly9ZpZRv/b/oM0/yDUwKBgAIINUhdUqPMRIXDr4GwYkRXVYsj1VINR9DogIIfs+zZOO5yozsasu3R9N8CclVwZtlVcP3DV6BFSVA10IrA74jHDqIkQIjDsOP2QLOqM+WxxDY9wPNK5Wnggw+QLwe6igF+ZN9QeyuB9Ed92wIqJEODFXn5RyNTIrQT8J27oOC9AoGBAIdedRZR7l3SqUlZphMLV8eGrQH6rObRYNAGffymAtVAROp44uAQa4RC1rBazv9Rlr2VOI7CSQCHrXuS7hbgbs2TZ+0dCpRSQsVwZKj7ALgzNo8JfA4gxL58uIJKt/bmGoWb5UFSN3xHKDBjN8Q7s71TiCv6sTKzQ3lp5I5e3VQ1AoGANS1iuylO0EAm5EmbzOLgHDa+qptG9pkG3eiEFO0IDXKc1Kd6haJkQJH6phePg1L6X7X/zEPuVW9EuUUWmICxRcVLlqGfuj4CAq/x8JEbpizMyD8hM+8DgnwWOHc3OY8OxgooNwlvf+zn5rLY3LkpTnPJL/AdRyQRlKaO7Jqqpc0=");
 |  |          //fsPayConfig.setHfRsaPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCOLOsfdbmB5qe7HTwbpxNQW0+5O6+im/7x+ZOBCf30FftYYRvnzbcsbvdBZa7745d7OgMB9Drd6vWah5Xp4uGf+tZOwGMHm6C8lphswJp3d1vPARuZulw4WSaIm+b8M2zEg+IMZiGhFC+H6fjtQm2jBz+Szvfa+MPwOzdJNcczpv56dujjz3G8Pf5aizZWjz5ovuWSSwdnmP8OAPBYhQaaBF4JyrIv5s89Vm+xIVlvvMcTo8uNf7HbKgUR27fjxyTtcJAlZUc/7XuBxNXTknxP1taiJU4XXeNpsPnLq31KwCsacPFZ5/QHvgkaDFjmImWaHUESMAFT/bkZvbV+PJvXAgMBAAECggEAYenRa3MZ9Loy3Yw+rxSbGoYoG3tdc/FW3LJywTVubcENvknye+uSsMkjAyjSH6sX0ceb9qaKO/bqeifSOKcFl7WaDdY03TJyui5EfvEN8CSFV8R9i5tqk2viO8aShzGrQJNLBBr6IgLS0RlzU4KiGtqND7/1thoIZtOBOawNqiXarFQo7i5DpsV6cZhw5Pk/JP5eQMhcVnyDmjYSKIcbCtkOmYHgxjXt79JnJBrwhHQ3gmdFO43XtuH+LPtg7tsvLetwIX1s5KdGJqXuDwFa/grFpTVa/oHZ0vebdHyNKn2WFbXEuGZP+GsudOEMRYIpyyPIJEzHmlXJs5SbYeLgUQKBgQDHEPUfOiqFg2APYtSFH751tPRRpqI0RZf9D3c/OEUXBCAEbVFocIPVexk+HNS3MXkzxTHS+ULRSCnmaSMKIcjJgX8ekatwNKzUbnXT9R4w2hSqp0vI1o9pNASe5dLQAKnp9WzyXAYeRxflQ+wb/d4xfwn4oqxti66TMBkhYpPY7QKBgQC21pYNZVADjQWKMVvbqqvHec22iTCpqmwJtD90Ze3DLI0SjJnPSeSRkMb71wNQYITH6pdFqw5KpdgxuQlefA6is3mSQ+Ovk+bCG84Ii5b2SAVUfUnknJA4OnPKn9TJs0C8BtpN7wQDKI2wTw5GGqdsDu2ly9ZpZRv/b/oM0/yDUwKBgAIINUhdUqPMRIXDr4GwYkRXVYsj1VINR9DogIIfs+zZOO5yozsasu3R9N8CclVwZtlVcP3DV6BFSVA10IrA74jHDqIkQIjDsOP2QLOqM+WxxDY9wPNK5Wnggw+QLwe6igF+ZN9QeyuB9Ed92wIqJEODFXn5RyNTIrQT8J27oOC9AoGBAIdedRZR7l3SqUlZphMLV8eGrQH6rObRYNAGffymAtVAROp44uAQa4RC1rBazv9Rlr2VOI7CSQCHrXuS7hbgbs2TZ+0dCpRSQsVwZKj7ALgzNo8JfA4gxL58uIJKt/bmGoWb5UFSN3xHKDBjN8Q7s71TiCv6sTKzQ3lp5I5e3VQ1AoGANS1iuylO0EAm5EmbzOLgHDa+qptG9pkG3eiEFO0IDXKc1Kd6haJkQJH6phePg1L6X7X/zEPuVW9EuUUWmICxRcVLlqGfuj4CAq/x8JEbpizMyD8hM+8DgnwWOHc3OY8OxgooNwlvf+zn5rLY3LkpTnPJL/AdRyQRlKaO7Jqqpc0=");
 | 
											
												
													
														|  |          //fsPayConfig.setHfRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnv5W7Fwgxe6VIEAmT0scdRAv7ZjzmaRLIcsUuwwI1/1HDDfBk3oyYsPHTpsP5BpdceKfcNkowmLE4RDnTHjdGe6qWFCp/R18oKiASp/4kqeA1NYycP3Vu4AQZKMJCpqmWEwYBUl6Js033MQd575C10zdzTexvA0lggMFoM5toI13cvPD58dYqGFzmNUsv5IfUfdRmj0ul4etFpgWYSpHPWlWMV2TpR+HhrDf8/hqqYgUn1lsvFlLzeC7LyhpahgXmXv6FdJFEAQ95EsvD8OpgzRyPxpkBwHh5ogsldi+9sWYDnT2/w/fuGVELpXO3otJ1JuROyuOPx23A2aoTBnTTQIDAQAB");
 |  |          //fsPayConfig.setHfRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnv5W7Fwgxe6VIEAmT0scdRAv7ZjzmaRLIcsUuwwI1/1HDDfBk3oyYsPHTpsP5BpdceKfcNkowmLE4RDnTHjdGe6qWFCp/R18oKiASp/4kqeA1NYycP3Vu4AQZKMJCpqmWEwYBUl6Js033MQd575C10zdzTexvA0lggMFoM5toI13cvPD58dYqGFzmNUsv5IfUfdRmj0ul4etFpgWYSpHPWlWMV2TpR+HhrDf8/hqqYgUn1lsvFlLzeC7LyhpahgXmXv6FdJFEAQ95EsvD8OpgzRyPxpkBwHh5ogsldi+9sWYDnT2/w/fuGVELpXO3otJ1JuROyuOPx23A2aoTBnTTQIDAQAB");
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        //广珍堂
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setAppId("wx0d1a3dd485268521");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfProductId("KAZX");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfSysId("6666000177633376");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHuifuId("6666000177633376");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfRsaPrivateKey("MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDY4Qufgdlwpp/LnSP3r/3ZQpKLliKuzMGxtwECc65W+gEarFRqgMXY5hWLnJYOBnTfZf2xJB/qVZkrGV2oQMQPd5ZtjLGaLR6hUFw6SP8SXtYXIWodPKrON96+oXy9yEIxuMRGhLMDAF2dEVwQvG1i4nnPrsBwjAmBU0RKGQytOfcVvhn5imOK8aJRyfAgkITdTDV7S50soMi3uZm0oOSX4wp1VvM2yrBfdqvb1egTtWG2Arhj8FwQ0HECPN2UIWlMB0TTgU+upx/Srpvs8ETAv1DEmSslX7fOEJm5XtGdMJMFngj9b+bhEbGTqBWY3o0p8PjhSPxRsU9IT8O1F5+ZAgMBAAECggEBAKPD83HjrBxbRYiLxRAQDaATm/LZUKErrgsSxClkzr2QlGreu/Ob/0mUG6rLd6dpirDyI8myHINnVXxs8ALPvPxs8eMQ/T8NWPa4ZpwAaNMnV4Qp0CX5nISRPZo2+KmZ4RoIifUx2LaofQfQhvOARR0JJLAFJf0WUUsdZBCLr73RBmxbBS1/AQ2jc2TpislB55MuEp203mXmYX26ClPcFhgcOqxKHq7LXKn03UrxRO+vW3BDvL/1/85CR3raxiZSemUquTqZhCnN/NlaFRe3lYPoWkJzzytkMuCBaf78BfbIYZbz3L50DGNrGysvznJwpipCZ33HXhI9fmoMO2oAGAECgYEA8H5pz3yk98E7g7OzEPkwO6H1tZk+UN3ixhDWKRyUauCPk5IIvGTxUlGeRZ251y78LzsKeKDBHTGREwtd5unq1mXPEz4LFHncNuJ1s8Vsqfky8ZS/kSELTg89gjo0mUJPq8PY4S9YHnpT/li+MoXCaxGchTAD+TflvuJ9HZXp/wECgYEA5tzZEhqWCuNCNNGJMWwaHoxdl8dR9bN+g5XIk2TMA5Uum3wX6EcA5c3l75//MMUqiJFFGvpvLkvTJHmqalg/aoPSYrCvEwJ/yyEdBt+EUozq2MqaKok9WvOyc8b07ruXsn1khiURo1V128u+jdYrqjBUe/frQ+Pwxpky0GJ2OJkCgYEA30iPFtwkEf8vMW0zMOwbExKhHXTk/ZG1Da3uGId3aO+LfjiUsc2KnKI4r2vsclQmQfewFiUyhtdRWXwxN8YwidRGeRgek2k8wxxoqXsAE6PR36f6YFVsuJG/ytwdn7mIXPJdt10MlGeA+mIMXL4BrwTP7HyTA90ZCqwf+8sHUQECgYEArcARb1qrCk64CWCaTKP7lHo4Bn9w4+bPlOEqMCRwl1Gz3jmrFJo7xrkMESjtuxrpRBdxVzicbM+MfatD4v2/3L6RnM01Nq1u2MZ3PjEDOc3tAnSZSuI3VziKWjCnLvXo2eEdwwgrGi67oUzagY1rF4+ARjz0yAfJsu6iG8u/BiECgYEApgb3PAmZ+Lqep516wmtT4FtjrYaOqSeLqelIqIj9k4JT0Qzd7x4i1VVuG/fl6KAAGeVKATyb34kbLexr71owBPomvGup9EP4MwPRudIr9krEOW6Xbg0wYUs7KuMCRe6fxUViVXrrcfjovD5IEMcFPG92QhYSHMIPPRAu+lvHr+s=");
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlU1KnE5PJXCmhOIF15ioq2jOoC62lyodlPjy4ekbyKHD9H2GydvK085BUbAqYO4Iv67YIxtsSK8D6LgEQ9YvYBAF5S/bsGj+eNSLGNsOohwmRusehuhNS05+LgXGaPzVMR7KqPW0cmGl1qnV6kMDKaCBhUppI24wB9cr7+Il0sM8hVdZyC62GnY5jhoZng+dhF11pZDhK/XsaxbfBSTx6/5AVD/CtUogDMr/Bz20MvVUOrS0SnXu5KxwvvapjM59Q+gtNxbTCmcNlD++e3hkgKFCe6N8WVE9X8a1aqAm+pkyy2NRy/5mF5tbHAo8J87zgSW0dVPsXHDC5KZrCGq6IwIDAQAB");
 | 
											
												
													
														|  |          config=fsPayConfig;
 |  |          config=fsPayConfig;
 | 
											
												
													
														|  |          MerConfig merConfig = new MerConfig();
 |  |          MerConfig merConfig = new MerConfig();
 | 
											
												
													
														|  |          merConfig.setProcutId(fsPayConfig.getHfProductId());
 |  |          merConfig.setProcutId(fsPayConfig.getHfProductId());
 | 
											
										
											
												
													
														|  | @@ -406,6 +477,8 @@ public class HuiFuServiceImpl implements HuiFuService {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          FsPayConfig fsPayConfig = new FsPayConfig();
 |  |          FsPayConfig fsPayConfig = new FsPayConfig();
 | 
											
												
													
														|  |          BeanUtils.copyProperties(fsHfpayConfig,fsPayConfig);
 |  |          BeanUtils.copyProperties(fsHfpayConfig,fsPayConfig);
 | 
											
												
													
														|  | 
 |  | +        // 测试使用
 | 
											
												
													
														|  | 
 |  | +        //fsPayConfig.setHfPayNotifyUrl("https://userapp.ysya.top/ceshi/store/app/pay/hfPayNotify");
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          config = fsPayConfig;
 |  |          config = fsPayConfig;
 | 
											
												
													
														|  |          return merConfig;
 |  |          return merConfig;
 |