Commit d3588770 by giaogiao

修复paygo通道

parent 346342bd
package com.library.service.Impl; package com.library.service.Impl;
import com.library.TopUp.Statel.SeatelSentUtils;
import com.library.TopUp.cellcard.CellcardSentUtils;
import com.library.TopUp.mefont.MetfoneSentUtils;
import com.library.TopUp.model.ResultsModel; import com.library.TopUp.model.ResultsModel;
import com.library.TopUp.smart.SmartSentUtils;
import com.library.config.NameValue; import com.library.config.NameValue;
import com.library.mapper.AutomaticQueueMapper; import com.library.mapper.AutomaticQueueMapper;
import com.library.mapper.CurrencyMapper; import com.library.mapper.CurrencyMapper;
import com.library.model.AutomaticQueueModel; import com.library.model.AutomaticQueueModel;
import com.library.model.OrderLogModel; import com.library.model.OrderLogModel;
import com.library.model.OrderModel; import com.library.model.OrderModel;
import com.library.model.SegmentModel;
import com.library.service.AutomaticCodeService; import com.library.service.AutomaticCodeService;
import com.library.util.Paygo24Utils; import com.library.util.Paygo24Utils;
import com.library.util.TransformationTools; import com.library.util.TransformationTools;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -22,10 +22,6 @@ import java.util.Date; ...@@ -22,10 +22,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service @Service
@Transactional @Transactional
...@@ -117,38 +113,38 @@ public class AutomaticCodeServiceImpl implements AutomaticCodeService { ...@@ -117,38 +113,38 @@ public class AutomaticCodeServiceImpl implements AutomaticCodeService {
Map<String, Object> map = this.automaticQueueMapper.selectSegment(phoneThree); Map<String, Object> map = this.automaticQueueMapper.selectSegment(phoneThree);
//1.先判断这是哪个公司的充值订单,然后发起充值 //1.先判断这是哪个公司的充值订单,然后发起充值
//
SegmentModel segmentModel = (SegmentModel)TransformationTools.ToObjectOne(SegmentModel.class, map); // SegmentModel segmentModel = (SegmentModel)TransformationTools.ToObjectOne(SegmentModel.class, map);
if (segmentModel.getOperator().equals("Cellcard")) { // if (segmentModel.getOperator().equals("Cellcard")) {
//Cellcard的手机号,则选择Cellcard公司的api发起充值 // //Cellcard的手机号,则选择Cellcard公司的api发起充值
//
resultsModel = CellcardSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), top_up_datetime, automaticQueueModel.getOrder_money().intValue()); // resultsModel = CellcardSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), top_up_datetime, automaticQueueModel.getOrder_money().intValue());
resultsModel.setTopUpNum(top_up_datetime); // resultsModel.setTopUpNum(top_up_datetime);
} else if (segmentModel.getOperator().equals("Metfone")) { // } else if (segmentModel.getOperator().equals("Metfone")) {
resultsModel = MetfoneSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime); // resultsModel = MetfoneSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime);
resultsModel.setTopUpNum(top_up_datetime); // resultsModel.setTopUpNum(top_up_datetime);
} else if (segmentModel.getOperator().equals("Smart")) { // } else if (segmentModel.getOperator().equals("Smart")) {
resultsModel = SmartSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime); // resultsModel = SmartSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime);
resultsModel.setTopUpNum(top_up_datetime); // resultsModel.setTopUpNum(top_up_datetime);
} else if (segmentModel.getOperator().equals("Seatel")) { // } else if (segmentModel.getOperator().equals("Seatel")) {
resultsModel = SeatelSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue()); // resultsModel = SeatelSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue());
//
//这个不用返回订单num,里面已经做了处理 // //这个不用返回订单num,里面已经做了处理
//
// } else {
Paygo24Utils paygo = new Paygo24Utils();
String result = paygo.payment(automaticQueueModel.getOrder_phone(), automaticQueueModel.getSegment_id(), automaticQueueModel.getOrder_money());
resultsModel = new ResultsModel();
resultsModel.setTip(result);
if (result.equals("SUCCESS")) {
resultsModel.setSuccessful(true);
} else { } else {
Paygo24Utils paygo = new Paygo24Utils(); resultsModel.setSuccessful(false);
String result = paygo.payment(automaticQueueModel.getOrder_phone(), automaticQueueModel.getSegment_id(), automaticQueueModel.getOrder_money());
resultsModel = new ResultsModel();
resultsModel.setTip(result);
if (result.equals("SUCCESS")) {
resultsModel.setSuccessful(true);
} else {
resultsModel.setSuccessful(false);
}
resultsModel.setTopUpNum(top_up_datetime);
} }
resultsModel.setTopUpNum(top_up_datetime);
// }
return resultsModel; return resultsModel;
} catch (Exception var10) { } catch (Exception var10) {
var10.printStackTrace(); var10.printStackTrace();
......
package com.library.test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.net.ssl.HttpsURLConnection;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class PaygoTest2 {
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat ticket_format = new SimpleDateFormat("HHmmss");
SimpleDateFormat format3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
PaygoTest2 test = new PaygoTest2();
Payment payment = new Payment();
payment.setId(UUID.randomUUID().toString());
payment.setAccount("017910301");
payment.setServiceId("3"); //Cellcard
payment.setCommission("0.00");
payment.setValue("1.00");
payment.setTicket(ticket_format.format(now));
payment.setNumber(formatter.format(now));
payment.setTime(format3339.format(now));
payment.setEncashmentNumber("0");
payment.setCurrency("USD");
payment.setPaymentTool("1");
List params = new ArrayList<>();
params.add(new Payment.PaymentParam("account", "017910301"));
//account parameter
payment.setParams(params);
try {
//Checking payment parameters
test.registerCheckRequest(payment);
//2 sec delay before getting result
Thread.sleep(2000);
//Getting check result
test.getCheckResultRequest(payment);
//In your system you have to repeat request results while
//State is not 0, 1 or 2
//If State==1 reject payment proceeding
//Sending payment
test.sendPaymentRequest(payment);
//In this method if you get ErrorResponse check Error Code
//if Code==7 (Payment is already exists) call checkStatusRequest()
//5 sec delay before checking payment status
Thread.sleep(5000);
//Checking payment status
test.checkStatusRequest(payment);
//In your system you have to repeat request check status while
//State is not final - 1, 2 (rejected) or 5 (completed)
//If you got status 3 or 4 and do not receive final state for 40 seconds complete the payment on your side
} catch (Exception ex) {
Logger.getLogger(PaygoTest2.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static final String mAddress = "https://api2.paygo24.com/paygoservice.asmx";
private static final String mUsername = "46";
private static final String mPassword = encodePass("123456");
private static final String encodePass(String pass) {
try {
byte messageDigest[] = null;
MessageDigest digest = java.security.MessageDigest
.getInstance("MD5");
digest.update(pass.getBytes());
messageDigest = digest.digest();
pass = Base64.getEncoder().encodeToString(messageDigest);
return pass;
} catch (Exception ex) {
return "";
}
}
public InputStream sendRequest(String requestXML) throws Exception {
try {
System.out.println(requestXML);
URL urll = new URL(mAddress);
HttpsURLConnection conn = (HttpsURLConnection) urll.openConnection();
// set required headers
conn.setRequestProperty("Content-Type",
"text/xml;charset=UTF-8");
conn.setRequestMethod("POST");
conn.setDoOutput(true);
byte[] body = requestXML.getBytes("UTF-8");
conn.setFixedLengthStreamingMode(body.length);
BufferedOutputStream out = new BufferedOutputStream(conn.getOutputStream());
out.write(body);
out.close();
conn.connect();
int statusCode = conn.getResponseCode();
if (statusCode == HttpURLConnection.HTTP_OK) {
InputStream content = new BufferedInputStream(conn.getInputStream());
return content;
} else {
throw new Exception("HTTP Status: " + statusCode);
}
} catch (IOException e) {
e.printStackTrace();
throw e;
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private void getCheckResultRequest(Payment payment) throws Exception {
String requestXML
= "\n"
+ "\n"
+ " \n"
+ " "
+ ""
+ "\n" + ""
+ "$POINT_ID\n"
+ " $PASSWORD"
+ "" + ""
+ "\n"
+ "";
// set the payment id
requestXML = requestXML.replace("$PAYMENT_ID", payment.getId()).replace("$POINT_ID", mUsername).replace("$PASSWORD", mPassword);
// send the request to the server
InputStream responseXML = sendRequest(requestXML);
String responseStr = convertStreamToString(responseXML);
System.out.println(responseStr);
}
private void registerCheckRequest(Payment payment) throws Exception {
String requestXML = "\n"
+ "\n"
+ " \n"
+ " "
+ ""
+ "\n"
+ "\n" + "$PAYMENT_PARAMS"
+ "\n" + "" + ""
+ "$POINT_ID\n"
+ " $PASSWORD"
+ "" + ""
+ "\n"
+ "";
// set the payment id
requestXML = requestXML.replace("$PAYMENT_ID", payment.getId())
.replace("$SERVICE_ID", payment.getServiceId())
.replace("$POINT_ID", mUsername)
.replace("$PASSWORD", mPassword);
// serialize the payment parameters
String paramsStr = "";
List params = payment.getParams();
for (int i = 0, c = params.size(); i < c; ++i) {
Object param = params.get(i);
paramsStr += "\n";
}
requestXML = requestXML.replace("$PAYMENT_PARAMS", paramsStr);
// send the request to the server
InputStream responseXML = sendRequest(requestXML);
String responseStr = convertStreamToString(responseXML);
System.out.println(responseStr);
}
private void sendPaymentRequest(Payment payment) throws Exception {
String requestXML = "\n"
+ "\n"
+ " \n"
+ " "
+ ""
+ "\n"
+ "\n" + "$PAYMENT_PARAMS"
+ "\n" + ""
+ "$POINT_ID\n"
+ " $PASSWORD"
+ "" + ""
+ "\n"
+ "";
// set the payment id
requestXML = requestXML.replace("$PAYMENT_ID", payment.getId())
.replace("$SERVICE_ID", payment.getServiceId())
.replace("$PAYMENT_TICKET", payment.getTicket())
.replace("$PAYMENT_NUMBER", payment.getNumber())
.replace("$PAYMENT_TIME", payment.getTime())
.replace("$ENCASHMENT_NUMBER", payment.getEncashmentNumber())
.replace("$PAYMENT_VALUE", payment.getValue())
.replace("$PAYMENT_COMMISSION", payment.getCommission())
.replace("$PAYMENT_CURRENCY", payment.getCurrency())
.replace("$PAYMENT_TOOL", payment.getPaymentTool())
.replace("$POINT_ID", mUsername)
.replace("$PASSWORD", mPassword);
// serialize the payment parameters
String paramsStr = "";
List params = payment.getParams();
for (int i = 0, c = params.size(); i < c; ++i) {
Object param = params.get(i);
paramsStr += "\n";
}
requestXML = requestXML.replace("$PAYMENT_PARAMS", paramsStr);
// send the request to the server
InputStream responseXML = sendRequest(requestXML);
String responseStr = convertStreamToString(responseXML);
System.out.println(responseStr);
}
/*
* Checks the server response for errors and throws an exception
*/
private void checkError(Document dom) throws PaypointException {
Element root = dom.getDocumentElement();
NodeList errorItems = root.getElementsByTagName("Error");
if (errorItems.getLength() != 0) {
Node item = errorItems.item(0);
NamedNodeMap attrs = item.getAttributes();
String errorText = attrs.getNamedItem("Description")
.getTextContent();
throw new PaypointException(errorText, attrs.getNamedItem("Number")
.getTextContent());
}
}
private void checkStatusRequest(Payment payment) throws Exception {
String requestXML
= "\n"
+ "\n"
+ " \n"
+ " "
+ ""
+ "\n"
+ ""
+ "$POINT_ID\n"
+ "$PASSWORD"
+ "" + ""
+ "\n"
+ "";
// set the payment id
requestXML = requestXML.replace("$PAYMENT_ID", payment.getId())
.replace("$POINT_ID", mUsername)
.replace("$PASSWORD", mPassword);
// send the request to the server
InputStream responseXML = sendRequest(requestXML);
String responseStr = convertStreamToString(responseXML);
System.out.println(responseStr);
}
private String getAttrValue(NamedNodeMap attrs, String name) {
Node value = attrs.getNamedItem(name);
if (value != null) {
return value.getTextContent();
} else {
return "";
}
}
private static String convertStreamToString(InputStream is) {
/*
* To convert the InputStream to String we use the
* BufferedReader.readLine() method. We iterate until the BufferedReader
* return null which means there's no more data to read. Each line will
* appended to a StringBuilder and returned as String.
*/
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
} finally {
try {
is.close();
} catch (IOException e) {
}
}
return sb.toString();
}
public static final class Payment implements Comparable {
private String mId;
private String mServiceId;
private String mTicket;
private String mNumber;
private String mTime;
private String mEncashmentNumber;
private String mValue;
private String mCommission;
private String mBalance;
private String mCurrency;
private String mPaymentTool;
private String mRejectPayment;
private String mState;
private String mStateComment;
private String mStateTime;
private String mServerPaymentId;
private List mParams;
// cached parameters
private String mAccount;
private int mStateAsInt;
private long mTimeLong;
private String mServiceName;
public Payment() {
mParams = new ArrayList();
}
public long getTimeLong() {
return mTimeLong;
}
public String getId() {
return mId;
}
public void setId(String id) {
mId = id;
}
public String getServiceId() {
return mServiceId;
}
public void setServiceId(String serviceId) {
mServiceId = serviceId;
}
public List getParams() {
return mParams;
}
public void setParams(List params) {
mParams = params;
}
public String getTicket() {
return mTicket;
}
public void setTicket(String ticket) {
mTicket = ticket;
}
public String getNumber() {
return mNumber;
}
public void setNumber(String number) {
mNumber = number;
}
public String getTime() {
return mTime;
}
public void setTime(String time) {
mTime = time;
}
public String getEncashmentNumber() {
return mEncashmentNumber;
}
public void setEncashmentNumber(String encashmentNumber) {
mEncashmentNumber = encashmentNumber;
}
public String getValue() {
return mValue;
}
public void setValue(String value) {
mValue = value;
}
public String getCommission() {
return mCommission;
}
public void setCommission(String commission) {
mCommission = commission;
}
public String getBalance() {
return mBalance;
}
public void setBalance(String balance) {
mBalance = balance;
}
public String getCurrency() {
return mCurrency;
}
public void setCurrency(String currency) {
mCurrency = currency;
}
public String getPaymentTool() {
return mPaymentTool;
}
public void setPaymentTool(String paymentTool) {
mPaymentTool = paymentTool;
}
public String getRejectPayment() {
return mRejectPayment;
}
public void setRejectPayment(String rejectPayment) {
mRejectPayment = rejectPayment;
}
public String getState() {
return mState;
}
public void setState(String state) {
mState = state;
try {
mStateAsInt = Integer.parseInt(state);
} catch (NumberFormatException e) {
mStateAsInt = -1;
}
}
public String getStateComment() {
return mStateComment;
}
public void setStateComment(String stateComment) {
mStateComment = stateComment;
}
public String getStateTime() {
return mStateTime;
}
public void setStateTime(String stateTime) {
mStateTime = stateTime;
}
public String getAccount() {
return mAccount;
}
public void setAccount(String account) {
mAccount = account;
}
public int getStateAsInt() {
return this.mStateAsInt;
}
@Override
public String toString() {
return this.mAccount;
}
public String getServiceName() {
return mServiceName;
}
public void setServiceName(String serviceName) {
mServiceName = serviceName;
}
public String getServerPaymentId() {
return mServerPaymentId;
}
public void setServerPaymentId(String serverPaymentId) {
mServerPaymentId = serverPaymentId;
}
@Override
public int compareTo(Object o) {
return 0;
}
public static class PaymentParam {
public static final int TYPE_INPUT = 1;
public static final int TYPE_OUTPUT = 2;
public static final int TYPE_INPUT_OUTPUT = 3;
public static final int TYPE_INTERNAL_DEVICE = 4;
private String mName;
private String mValue;
private int mType = TYPE_INPUT;
public PaymentParam(String name, String value) {
mName = name;
mValue = value;
}
public PaymentParam(String name, String value, int type) {
this(name, value);
mType = type;
}
public int getType() {
return mType;
}
public void setType(int type) {
mType = type;
}
public String getName() {
return mName;
}
public void setName(String name) {
mName = name;
}
public String getValue() {
return mValue;
}
public void setValue(String value) {
mValue = value;
}
}
}
public static class PaypointException extends Exception {
private String mErrorCode;
public String getErrorCode() {
return mErrorCode;
}
PaypointException(String message, String errorCode) {
super(message);
mErrorCode = errorCode;
}
}
}
...@@ -25,7 +25,7 @@ import java.util.UUID; ...@@ -25,7 +25,7 @@ import java.util.UUID;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
public class PaygoTest { public class PaygoUtils {
// test // test
...@@ -36,19 +36,30 @@ public class PaygoTest { ...@@ -36,19 +36,30 @@ public class PaygoTest {
// prod // prod
private static final String mAddress = "https://processing2.paygo24.com/paygoservice.asmx"; private static final String mAddress = "https://processing2.paygo24.com/paygoservice.asmx";
private static final String mUsername = "451717"; private static final String mUsername = "451717";
// iWoQosQ+z9YFXqKuyPyRNg==
private static final String mPassword = encodePass("Ws8GsJZu"); private static final String mPassword = encodePass("Ws8GsJZu");
public static void main(String[] args) { public static void main(String[] args) {
// 3 CELLCARD 012885610
// 2 SMART 098375667
// 4 metfone 0887038371
top_up("0887038371");
}
private static void top_up(String mAccount) {
Date now = new Date(); Date now = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat ticket_format = new SimpleDateFormat("HHmmss"); SimpleDateFormat ticket_format = new SimpleDateFormat("HHmmss");
SimpleDateFormat format3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); SimpleDateFormat format3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
PaygoTest test = new PaygoTest(); PaygoUtils test = new PaygoUtils();
Payment payment = new Payment(); Payment payment = new Payment();
payment.setId(UUID.randomUUID().toString()); payment.setId(UUID.randomUUID().toString());
payment.setAccount("098375667");
payment.setServiceId("2"); payment.setAccount(mAccount);
payment.setServiceId("4");
payment.setCommission("0.00"); payment.setCommission("0.00");
payment.setValue("1.00"); payment.setValue("1.00");
payment.setTicket(ticket_format.format(now)); payment.setTicket(ticket_format.format(now));
...@@ -58,7 +69,7 @@ public class PaygoTest { ...@@ -58,7 +69,7 @@ public class PaygoTest {
payment.setCurrency("USD"); payment.setCurrency("USD");
payment.setPaymentTool("1"); payment.setPaymentTool("1");
List<Payment.PaymentParam> params = new ArrayList<>(); List<Payment.PaymentParam> params = new ArrayList<>();
params.add(new Payment.PaymentParam("account", "098375667")); params.add(new Payment.PaymentParam("account", mAccount));
//account parameter //account parameter
payment.setParams(params); payment.setParams(params);
try { try {
...@@ -90,9 +101,8 @@ public class PaygoTest { ...@@ -90,9 +101,8 @@ public class PaygoTest {
} catch (Exception ex) { } catch (Exception ex) {
Logger.getLogger(PaygoTest.class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger(PaygoUtils.class.getName()).log(Level.SEVERE, null, ex);
} }
} }
private static final String encodePass(String pass) { private static final String encodePass(String pass) {
......
...@@ -77,7 +77,7 @@ public class Paygo24Utils { ...@@ -77,7 +77,7 @@ public class Paygo24Utils {
public static void main(String[] args) { public static void main(String[] args) {
Paygo24Utils paygo24Utils = new Paygo24Utils(); Paygo24Utils paygo24Utils = new Paygo24Utils();
String result = paygo24Utils.payment("0887038371", 4, new BigDecimal(1.0)); String result = paygo24Utils.payment("098375667", 2, new BigDecimal(1.0));
System.out.println("result:"+result); System.out.println("result:"+result);
} }
......
...@@ -3,11 +3,5 @@ ...@@ -3,11 +3,5 @@
hasPrintlnUrl=true hasPrintlnUrl=true
phone.regularly=^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\\d{8}$ phone.regularly=^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\\d{8}$
test.account=11,15 test.account=11,15
#paygo.pointid=46
#paygo.password=4QrcOUm6Wau+VuBX8g+IPg==
#wcRvX9plNOAb95br0y4vVQ==
paygo.pointid=326386
paygo.password=5TNO+4kpAXtphf1eIlGCLw==
paygo.test.is=true
paygo.start.is=true
sms.domestic.submail=false sms.domestic.submail=false
\ No newline at end of file
#jdbc.driverClassName=com.mysql.jdbc.Driver #jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/comb_top?useUnicode=true&characterEncoding=utf8&autoReconnect=true #jdbc.url=jdbc:mysql://localhost:3306/comb_top?useUnicode=true&characterEncoding=utf8&autoReconnect=true
#本地
#jdbc.username=root #jdbc.username=root
#jdbc.password=123 #jdbc.password=123
...@@ -11,7 +12,12 @@ ...@@ -11,7 +12,12 @@
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/discuz?useUnicode=true&characterEncoding=utf8&autoReconnect=true
jdbc.url=jdbc:mysql://localhost:3306/recharge_sys?useUnicode=true&characterEncoding=utf8&autoReconnect=true jdbc.url=jdbc:mysql://localhost:3306/recharge_sys?useUnicode=true&characterEncoding=utf8&autoReconnect=true
jdbc.username=recharge_sys jdbc.username=recharge_sys
jdbc.password=cK2bPBkwLtKNeGRc #正式
\ No newline at end of file jdbc.password=cK2bPBkwLtKNeGRc
# 测试外网
#jdbc.password=FEeDirZZ4EP8rADM
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment