Commit 502c3c50 authored by 技术部-任文超's avatar 技术部-任文超

Merge branch 'master' into feature/20171030

parents af0f5572 b290d05e
......@@ -373,7 +373,7 @@
<dependency>
<groupId>cn.quantgroup</groupId>
<artifactId>quantgroup-sms-sdk</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>2.0.0.3-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......
......@@ -44,13 +44,7 @@ public interface Constants {
* redis中token的key值前缀
*/
String SESSION_PREFIX = "spring:session:sessions:";
interface Jr58 {
int ERROR_PHONE_NUMBER = 20007; // 手机号码格式不正确
int ERROR_ID_CARD = 20009; // 身份证格式不正确
int ERROR_ACCOUNT = 20010; // 授权账号为空
int ERROR_AUTH_TYPE = 20011; // 授权类型为空
}
Long ONE_DAY = 24 * 60 * 60L;
interface Channel {
long LKB = 1; // 量化派
......@@ -63,6 +57,7 @@ public interface Constants {
interface Session {
String USER_SESSION_CACHE = "user:session:";
String USER_SESSION_ID_CACHE = "userid-sessionvalue:cache:";
String USER_SESSION_KEY_SET = "userid-keys:set:";
Long ONE_DAY = 24 * 60 * 60L;
}
......
......@@ -71,6 +71,7 @@ public class AppController implements IBaseController {
* 第三方用户登录
*/
@RequestMapping("/login")
@LogHttpCaller
public JsonResult login(
String phoneNo,
@RequestParam(required = false, defaultValue = "1") Long registerFrom,
......
......@@ -163,10 +163,11 @@ public class SmsController implements IBaseController {
private JsonResult sendVerificationCode2Voice(String phoneNo, String usage) {
String verificationCountKey = Constants.REDIS_VOICE_CODE_COUNT + phoneNo;
Long getVerificationCount = redisTemplate.opsForHash().increment(verificationCountKey, usage.toString(), 1);
redisTemplate.expire(verificationCountKey, DateUtils.getSeconds(), TimeUnit.SECONDS);
if (getVerificationCount > 5) {
return JsonResult.buildErrorStateResult("今天已获取5次语音验证码,请使用短信验证码或明天再试", null);
}
redisTemplate.expire(verificationCountKey, DateUtils.getSeconds(), TimeUnit.SECONDS);
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult("手机号格式有误", null);
}
......@@ -224,6 +225,8 @@ public class SmsController implements IBaseController {
}
String verificationPhoneCountKey = Constants.REDIS_SMS_CODE_COUNT + phoneNo;
Long getPhoneVerificationCount = redisTemplate.opsForHash().increment(verificationPhoneCountKey, Constants.REDIS_SMS_CODE_COUNT, 1);
redisTemplate.expire(verificationPhoneCountKey, Constants.ONE_DAY,TimeUnit.SECONDS);
if (getPhoneVerificationCount > PHONE_MAX_PER_DAY) {
return JsonResult.buildErrorStateResult("今天已获取20次短信验证码,请使用语音验证码或明天再试", null);
}
......@@ -239,6 +242,7 @@ public class SmsController implements IBaseController {
if (!StringUtils.isEmpty(deviceId)) {
String verificationDeviceCountKey = Constants.REDIS_SMS_DEVICE_COUNT + deviceId;
Long getDeviceVerificationCount = redisTemplate.opsForHash().increment(verificationDeviceCountKey, Constants.REDIS_SMS_DEVICE_COUNT, 1);
redisTemplate.expire(verificationDeviceCountKey, Constants.ONE_DAY,TimeUnit.SECONDS);
if (getDeviceVerificationCount > DEVICE_MAX_PER_DAY) {
return JsonResult.buildErrorStateResult("您设备已经达到获取今天短信验证码上限", null);
}
......@@ -279,6 +283,7 @@ public class SmsController implements IBaseController {
String verificationCountKey = Constants.REDIS_VOICE_CODE_COUNT + phoneNo;
Long getVerificationCount = redisTemplate.opsForHash().increment(verificationCountKey, usage.toString(), 1);
redisTemplate.expire(verificationCountKey, DateUtils.getSeconds(), TimeUnit.SECONDS);
if (getVerificationCount > PHONE_VOICE_MAX_PER_DAY) {
return JsonResult.buildErrorStateResult("今天已获取5次语音验证码,请使用短信验证码或明天再试", null);
}
......@@ -294,12 +299,13 @@ public class SmsController implements IBaseController {
if (!StringUtils.isEmpty(deviceId)) {
String verificationDeviceCountKey = Constants.REDIS_VOICE_DEVICE_COUNT + deviceId;
Long getDeviceVerificationCount = redisTemplate.opsForHash().increment(verificationDeviceCountKey, Constants.REDIS_VOICE_DEVICE_COUNT, 1);
redisTemplate.expire(verificationDeviceCountKey, Constants.ONE_DAY,TimeUnit.SECONDS);
if (getDeviceVerificationCount > DEVICE_MAX_PER_DAY) {
return JsonResult.buildErrorStateResult("您设备已经达到获取今天语音验证码上限", null);
}
}
redisTemplate.expire(verificationCountKey, DateUtils.getSeconds(), TimeUnit.SECONDS);
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult("手机号格式有误", null);
}
......
......@@ -337,6 +337,7 @@ public class UserController implements IBaseController {
* @param channelId
* @return
*/
@LogHttpCaller
@RequestMapping("/register")
@LogHttpCaller
public JsonResult register(@RequestParam String phoneNo, @RequestParam String password,
......
package cn.quantgroup.xyqb.event;
import lombok.Getter;
import lombok.ToString;
import org.springframework.context.ApplicationEvent;
/**
* @author mengfan.feng
* @time 2015-09-15 15:05
*/
@Getter
@ToString
public class UserinfoChangedEvent extends ApplicationEvent {
private final String uuid;
private final Long channelId;
public UserinfoChangedEvent(Object source, String uuid, Long channelId) {
super(source);
this.uuid = uuid;
this.channelId = channelId;
}
}
package cn.quantgroup.xyqb.event.jr58;
import cn.quantgroup.xyqb.service.http.IHttpService;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class Jr58DataSender {
private static final Logger LOGGER = LoggerFactory.getLogger(Jr58DataSender.class);
@Autowired
private Jr58MessageSigner jr58MessageSigner;
@Autowired
private IHttpService httpService;
@Value("${jr58.notify.userinfo}")
private String jr58nNotifyUserinfo;
/**
* 向58金融同步用户信息
*
* @param uuid
*/
@Async
public void sendUserinfo(String uuid) {
try {
JSONObject json = new JSONObject();
json.put("salaryWay", 0);
json.put("loanPurpose", "12");
json.put("job", 0);
json.put("account", 1000);
json.put("salary", 0);
json.put("hourse", 1);
json.put("isShebao", 0);
json.put("education", "");
json.put("isCreditCard", "0");
json.put("isOtherLoanOrg", "0");
String userinfo = json.toString();
String param = uuid + "|1|" + userinfo;
String sign = jr58MessageSigner.sign(param);
Map<String, String> parameters = ImmutableMap.<String, String>builder()
.put("customerId", uuid)
.put("authorState", "100")
.put("baseFlag", "1")
.put("userinfo", userinfo)
.put("sign", sign)
.build();
httpService.post(jr58nNotifyUserinfo, parameters);
} catch (Exception e) {
LOGGER.error("向58金融同步用户信息", e);
}
}
}
package cn.quantgroup.xyqb.event.jr58;
import cn.quantgroup.cloudconfig.SafeValue;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.Signature;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
@Service
public class Jr58MessageSigner {
private PrivateKey generatedSigningKey;
@SafeValue("jr58.sign.key")
private String signingKeySpec;
@PostConstruct
private void init() throws Exception {
if (StringUtils.isEmpty(signingKeySpec)) return;
byte[] keyBytes = Base64.getDecoder().decode(signingKeySpec);
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
generatedSigningKey = keyFactory.generatePrivate(pkcs8KeySpec);
}
public String sign(String s) throws Exception {
if (generatedSigningKey == null) return "";
byte[] data = s.getBytes();
Signature signature = Signature.getInstance("MD5withRSA");
signature.initSign(generatedSigningKey);
signature.update(data);
byte[] signedBytes = signature.sign();
return Base64.getEncoder().encodeToString(signedBytes);
}
}
package cn.quantgroup.xyqb.event.jr58;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.event.UserinfoChangedEvent;
import cn.quantgroup.xyqb.service.user.IUserService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Service;
@Service
public class Jr58Notifier implements ApplicationListener<UserinfoChangedEvent> {
private static final Logger LOGGER = LoggerFactory.getLogger(Jr58Notifier.class);
@Autowired
private Jr58DataSender jr58DataSender;
@Autowired
private IUserService userService;
@Override
public void onApplicationEvent(UserinfoChangedEvent event) {
LOGGER.info("向58金融同步信息, event:{}", event);
String uuid = event.getUuid();
Long channelId = event.getChannelId();
if (StringUtils.isEmpty(uuid) || channelId == null || channelId != Constants.Channel.JR58) {
return;
}
User user = userService.findByUuidWithCache(uuid);
if (user == null || user.getRegisteredFrom() != Constants.Channel.JR58) {
return;
}
jr58DataSender.sendUserinfo(uuid);
}
}
package cn.quantgroup.xyqb.model.jr58;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* Created by Rocky on 2016/8/17.
*/
@Getter
@Setter
@ToString
public class Jr58Authorization {
private String userId;
private String sourceFrom;
private String authorizationData;
private OperatorData operator_data;
@Getter
@Setter
public static class OperatorData {
private OriginalData originalData;
private ReportData reportData;
@Getter
@Setter
public static class OriginalData {
private String phone;
private PhoneData phoneData;
private PhoneBillDataList[] phoneBillDataList;
private PhoneCallLogList[] phoneCallLogList;
private PhoneSmsLogList[] phoneSmsLogList;
@Getter
@Setter
public static class PhoneData {
private Long id;
private String phoneNum;
private String serialNo;
private String realName;
private String idCard;
private String sourceName;
private String authorizeChannel;
private String createTime;
private String updateTime;
}
@Getter
@Setter
public static class PhoneBillDataList {
private String localPhone;
private String totalCost;
private String planCost;
private String yearMnth;
private String authorizeChannel;
}
@Getter
@Setter
public static class PhoneCallLogList {
private String localPhone;
private String callPhone;
private String callId;
private String cost;
private String callType;
private String callStyle;
private String callDuration;
private String callTime;
private String callAddress;
private String authorizeChannel;
}
@Getter
@Setter
public static class PhoneSmsLogList {
private String localPhone;
private String otherPhone;
private String sendId;
private String totalCost;
private String sendAddress;
private String sendTime;
private String authorizeChannel;
}
}
@Getter
@Setter
public static class ReportData {
private String localPhone;
private Behavior behavior;
private Check check;
private CallList[] callList;
private ContactList[] contactList;
private OperatorList[] operatorList;
private RegionList[] regionList;
private ServiceList[] serviceList;
private TripConsumeList[] tripConsumeList;
@Getter
@Setter
public static class Behavior {
private String localPhone;
private String friendCircle;
private String localLivingYear;
private String powerOff;
private String callMacao;
private String call110;
private String call120;
private String callLawyer;
private String callCourt;
private String callLoan;
private String callBank;
private String callCredit;
private String useTime;
private String contactAmount;
private String contactFrequency;
private String livingLocation;
private String workingLocation;
private String nightUse;
private String authorizeChannel;
}
@Getter
@Setter
public static class Check {
private String localPhone;
private String idCardValidate;
private String operatorBinding;
private String nameOperatorMatch;
private String idcardOperatorMatch;
private String nameIdcardBlack;
private String namePhoneBlack;
private String callContact;
private String callHome;
private String callWork;
private String authorizeChannel;
}
@Getter
@Setter
public static class CallList {
private String localPhone;
private String phoneNum;
private String attribution;
private String contactName;
private String needsType;
private String callCount;
private String callInCount;
private String callOutCount;
private String callTime;
private String callInTime;
private String callOutTime;
private String relationSpeculate;
private String contact1week;
private String contact1month;
private String contact3month;
private String contact3monthMore;
private String contactEarlyMorning;
private String contactMorning;
private String contactNoon;
private String contactAfternoon;
private String contactNight;
private String contactWeekday;
private String contactWeekend;
private String contactHoliday;
private String contactAllDay;
private String authorizeChannel;
}
@Setter
@Getter
public static class ContactList {
}
@Getter
@Setter
public static class OperatorList {
private String localPhone;
private String operatorName;
private String operatorZh;
private String phoneNum;
private String attribution;
private String mnth;
private String callCount;
private String callInCount;
private String callOutCount;
private String callInTime;
private String callOutTime;
private String flow;
private String smsCount;
private String totalAmount;
private String authorizeChannel;
}
@Getter
@Setter
public static class RegionList {
private String localphone;
private String regionName;
private String numCount;
private String callInCount;
private String callOutCount;
private String callInTime;
private String callOutTime;
private String callInAvg;
private String callOutAvg;
private String callInCountPct;
private String callOutCountPct;
private String callInTimePct;
private String callOutTimePct;
private String authorizeChannel;
}
@Setter
@Getter
public static class ServiceList {
private String localPhone;
private String companyName;
private String companyType;
private String contactTimes;
private String contactMonth;
private String contactTimesMonth;
private String authorizeChannel;
}
@Setter
@Getter
public static class TripConsumeList {
}
}
}
}
package cn.quantgroup.xyqb.model.jr58;
import cn.quantgroup.xyqb.model.IdCardInfo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @author mengfan.feng
* @time 2015-09-09 15:46
*/
@Getter
@Setter
@ToString
public class Jr58RegisterParam {
private String wbId; // 58官方注册id
private String wbUserName; // 58用户名
private String customerId; // 量化派用户id
private String name; // 用户姓名
private String idcard; // 身份证号
private String email; // 用户邮箱
private String phone; // 手机号码
private String info; // 用户附加信息(用户是学生,那他的学校、专业之类;用户是上班族:公司之类)
private String roleId; // 角色id(用户职业:例如学生、上班族、企业主、网上店主)
private String flag; // 是否第一次登陆,第一次登陆:0;非第一次登陆:1,默认0
private String city; // 城市
private String accessMode; // 接入模式,openApi(目前的方式) weixin h5
private String appId; // 客户提供的appId
private IdCardInfo idCardInfo; // 证件信息
private String edu; // 学历 学历:B:硕士及以上 C:本科 D:专科 E::中专、高中 G:初中及以下
private String income; // 收入情况:3000以下:M1 3000~10000 :M2 10000~20000 : M3 20000以上 :M4
private String marry; // 婚姻状况 :A:已婚 B:未婚 C:离异 D:丧偶
private String monitorPhone; // 58监控请求属性,不存
/**** 授权*****/
private String account; //授权账号
private String authorizationType;//授权类型(运营商:1,支付宝:2)
/**** 授权*****/
}
package cn.quantgroup.xyqb.model.jr58;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @author mengfan.feng
* @time 2015-09-11 09:54
*/
@Getter
@Setter
@ToString
public class Jr58RegisterResult {
private String errorcode;
private Boolean success;
private Boolean hasUser;
private String customerid;
}
package cn.quantgroup.xyqb.service.jr58;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.jr58.Jr58Authorization;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam;
import java.io.UnsupportedEncodingException;
/**
* @author mengfan.feng
* @time 2015-09-09 16:43
*/
public interface Jr58Service {
/**
* 用户注册
*
* @param param
* @return
*/
String register(Jr58RegisterParam param);
/**
* 避免填写资料
*/
void getRidOfFillingProfile(User user, String phoneNo) throws UnsupportedEncodingException;
/**
* 推送授权数据
*/
void pushAuthorizationData(Jr58Authorization authorizationData);
/**
* 推送授权开始的状态
*
* @param userId
* @param account
* @param authorizationType
*/
void pushAuthorizationStatus(String userId, String account, String authorizationType);
}
package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult;
/**
* @author mengfan.feng
* @time 2015-08-19 17:44
......@@ -18,14 +15,6 @@ public interface ILkbUserService {
*/
String registerApp(String phoneNo, String password);
/**
* 58金融用户注册
*
* @param param
* @return
*/
Jr58RegisterResult registerJr58(Jr58RegisterParam param);
/**
* 同步用户信息
*
......
package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult;
import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.util.PasswordUtil;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -39,9 +36,6 @@ public class LkbUserviceImpl implements ILkbUserService {
@Value("${lkb.client.user.register.app}")
private String registerApp;
@Value("${lkb.client.user.register.58jr}")
private String register58jr;
@Value("${lkb.client.user.update}")
private String userUpdate;
......@@ -59,32 +53,14 @@ public class LkbUserviceImpl implements ILkbUserService {
.build();
String response = httpService.get(clientUrl + registerApp, parameters);
//Map<String, String> result = GSON.fromJson(response, Map.class);
Map<String, String> result = JSONObject.parseObject(response, Map.class);
if (result == null || "0".equals(result.get("flag"))) {
LOGGER.warn("向LKB注册用户失败, phoneNo:{}, password:{}", phoneNo, password);
return "";
}
//String uid = java.util.UUID.randomUUID().toString().replace("-","");
return result.get("uid");
}
@Override
public Jr58RegisterResult registerJr58(Jr58RegisterParam param) {
Map<String, String> parameters = ImmutableMap.<String, String>builder()
.put("wbId", param.getWbId())
.put("customerId", param.getCustomerId())
.put("name", param.getName())
.put("idcard", param.getIdcard())
.put("email", StringUtils.substring(param.getEmail(), 0, 30))
.put("phone", param.getPhone())
.build();
String response = httpService.get(clientUrl + register58jr, parameters);
//return GSON.fromJson(response, Jr58RegisterResult.class);
return JSONObject.parseObject(response, Jr58RegisterResult.class);
}
@Override
@Async
public void userUpdate(String uuid, String name, String idNo) {
......
package cn.quantgroup.xyqb.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.charset.Charset;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class JR58GzipUtil {
public static String bytesTogzip(byte[] bytes, String encode) {
if (bytes == null || bytes.length == 0) {
return null;
}
ByteArrayInputStream byteArrayIn = null;
GZIPInputStream in = null;
ByteArrayOutputStream byteArrayout = new ByteArrayOutputStream();
PrintStream out = new PrintStream(byteArrayout);
try {
byteArrayIn = new ByteArrayInputStream(bytes);
in = new GZIPInputStream(byteArrayIn);
byte[] b = new byte[1024];
int readlen = 0;
;
while ((readlen = in.read(b)) != -1) {
out.write(b, 0, readlen);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("解密后的数据:");
return new String(byteArrayout.toByteArray(), Charset.forName(encode));
}
public static byte[] gzipTobytes(String str, String encode) {
if (str == null || str.length() == 0) {
return null;
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = null;
try {
gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes(encode));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
gzip.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return out.toByteArray();
}
}
......@@ -17,7 +17,7 @@ xyqb.filter.allowedHeaders=Origin, No-Cache, x-auth-token, X-Requested-With, If-
xyqb.data.redis.defaultExpiration=3600
# redis
xyqb.redis.master.host=192.168.4.22
xyqb.redis.master.host=192.168.4.153
xyqb.redis.master.port=6379
xyqb.redis.master.name=
xyqb.redis.sentinel1.host=
......@@ -33,7 +33,6 @@ sms.is.debug=1
# LKB client
lkb.client.url=http://192.168.4.193:8083/LKBClient/openapi
lkb.client.user.register.app=/new/register/registerApp.json
lkb.client.user.register.58jr=/new/register/jr58/saveUserInfo.json
lkb.client.user.update=/new/register/updateUser.json
......@@ -42,18 +41,12 @@ lkb.import.url=http://spider.quantgroup.cn
# LKB
lkb.url=http://192.168.192.251:8081/LKB
lkb.entrypoint.jr58=/jr58/arc_all.html
# xyqb
xyqb.url=http://192.168.192.163:8999
xyqb.api.url=http://192.168.192.163:9004
# JR58
jr58.sign.key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKG/Y0J/c+JguU6cPdFHRC9eHrkgaZ9bpYpeQVujBpL+OkA8pAQTZ1XhoLZu/IH4Rv2kx85e8WVF7FxIFkgqJobjvai2XsD7QRYHGb6EEsqjROPndxnlpLeXmyp+WvbPhtRMoLyP3bZncaR1xsPkmW4ajXSUCa4+qlEfrEMskG79AgMBAAECgYAYmA5StSh8unJSxqULpkdy4F/RjGEjDv9by7sqYN6GCUv4KoBR8lVbFKSoOLYCWSsKND0BXyRbXsdyvK9Op8IVsKIbUnpen5V2cgNrVhlomy7E7RFSdoyFcRuWzck0NGtjJLPzi4qztiKprFH8yMf3tfD8aEKMo7pFpqetGfkezQJBANZTUTiGePRsiO7igin92jf9pWeSiI9OecQ/9hxwIlXXxQAwMUcvvyjoKfp6TRs3HlYugoiP/5VwTWRM/iTbf18CQQDBMtpKI5NtgrpfqbN2czP35S7VOnYO0QofEEuLj3oVCo2CxXfz0cViY/ng3BFk/oTykbMmS/TxCD5VHi17QRsjAkEAv9/3ZtN8ldZVAQhn35AUPOwnmIHnH+TxvnBEtVDubEuvYmvCsihcyxKOAmBbh3HhBua8leXUusS/hHwpSnX3oQJAc4eLTYZUpMnl1UrPjGd7jiO4i72310hduxGtezlDEc4LrUWUY3Lvi9SpGjO/GxuwOLWz4ZTOVkxNqeyv2eKm7QJAQHvgO0ciDFuFuhahFli7ktyZcn5CV8PPkQrbMXUFrMbX3AP61HPyH9EGCqBvsdyRYqPxFseDFY3yYveOWMPq0Q==
jr58.notify.userinfo=http://xfd.test.58v5.cn/customer/quantgroup_user_info
# 图形验证码
# 是否启用超级验证码 "__SUPERQG__", 用于测试环境自动化测试, 线上环境可忽略此参数
xyqb.auth.captcha.super.enable=1
......
server.port=9001
security.sessions=if_required
server.session-timeout=5184000
server.session-timeout=86400
spring.aop.proxy-target-class=true
......@@ -20,18 +20,14 @@ sms.is.debug=0
# LKB client
lkb.client.url=http://openapi.quantgroup.cn/LKBClient/openapi
lkb.client.user.register.app=/new/register/registerApp.json
lkb.client.user.register.58jr=/new/register/jr58/saveUserInfo.json
lkb.client.user.update=/new/register/updateUser.json
# LKB import
lkb.import.url=http://spider.quantgroup.cn
# LKB
lkb.url=http://58.xyqb.com/LKB
lkb.entrypoint.jr58=/jr58/arc_all.html
# xyqb
xyqb.url=https://m.xyqb.com
xyqb.api.url=http://api.xyqb.com
# JR58
jr58.notify.userinfo=http://dk.58.com/customer/quantgroup_user_info
#sdk
model.quantgroup.url=http://model.quantgroup.cn
xyqb.auth.url=http://auth.xyqb.com
......
......@@ -23,19 +23,14 @@ sms.is.debug=1
# LKB client
lkb.client.url=http://192.168.192.251:8082/LKBClient/openapi
lkb.client.user.register.app=/new/register/registerApp.json
lkb.client.user.register.58jr=/new/register/jr58/saveUserInfo.json
lkb.client.user.update=/new/register/updateUser.json
# LKB import
lkb.import.url=http://spider.quantgroup.cn
# LKB
lkb.url=http://192.168.192.251:8081/LKB
lkb.entrypoint.jr58=/jr58/arc_all.html
# xyqb
xyqb.url=http://192.168.192.206:8999
xyqb.api.url=http://192.168.192.206:9004
# JR58
jr58.sign.key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKG/Y0J/c+JguU6cPdFHRC9eHrkgaZ9bpYpeQVujBpL+OkA8pAQTZ1XhoLZu/IH4Rv2kx85e8WVF7FxIFkgqJobjvai2XsD7QRYHGb6EEsqjROPndxnlpLeXmyp+WvbPhtRMoLyP3bZncaR1xsPkmW4ajXSUCa4+qlEfrEMskG79AgMBAAECgYAYmA5StSh8unJSxqULpkdy4F/RjGEjDv9by7sqYN6GCUv4KoBR8lVbFKSoOLYCWSsKND0BXyRbXsdyvK9Op8IVsKIbUnpen5V2cgNrVhlomy7E7RFSdoyFcRuWzck0NGtjJLPzi4qztiKprFH8yMf3tfD8aEKMo7pFpqetGfkezQJBANZTUTiGePRsiO7igin92jf9pWeSiI9OecQ/9hxwIlXXxQAwMUcvvyjoKfp6TRs3HlYugoiP/5VwTWRM/iTbf18CQQDBMtpKI5NtgrpfqbN2czP35S7VOnYO0QofEEuLj3oVCo2CxXfz0cViY/ng3BFk/oTykbMmS/TxCD5VHi17QRsjAkEAv9/3ZtN8ldZVAQhn35AUPOwnmIHnH+TxvnBEtVDubEuvYmvCsihcyxKOAmBbh3HhBua8leXUusS/hHwpSnX3oQJAc4eLTYZUpMnl1UrPjGd7jiO4i72310hduxGtezlDEc4LrUWUY3Lvi9SpGjO/GxuwOLWz4ZTOVkxNqeyv2eKm7QJAQHvgO0ciDFuFuhahFli7ktyZcn5CV8PPkQrbMXUFrMbX3AP61HPyH9EGCqBvsdyRYqPxFseDFY3yYveOWMPq0Q==
jr58.notify.userinfo=http://xfd.test.58v5.cn/customer/quantgroup_user_info
# 图形验证码
# 是否启用超级验证码 "__SUPERQG__", 用于测试环境自动化测试, 线上环境可忽略此参数
xyqb.auth.captcha.super.enable=1
......
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