Commit cb04d3aa by tang

添加什么图片上传之类

parent c4119e12
package com.thinkgem.jeesite.modules.homepage.service;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.homepage.bean.NoticeRequest;
import com.thinkgem.jeesite.modules.homepage.dao.NoticeDao;
import com.thinkgem.jeesite.modules.homepage.entity.NoticeEntity;
......@@ -20,6 +21,15 @@ public class NoticeService {
private NoticeDao noticeDao;
public List<NoticeEntity> getNotice(NoticeRequest request) throws Exception {
return noticeDao.getNotice(request);
List<NoticeEntity> notice = noticeDao.getNotice(request);
if(notice.size()>0){
for (NoticeEntity entity: notice) {
if(!StringUtils.isBlank(entity.getContent()) && entity.getContent().contains("/youka-manage/")){
String replace = entity.getContent().replace("/youka-manage/", "http://youkapay.com/youka-manage/");
entity.setContent(replace);
}
}
}
return notice;
}
}
......@@ -342,7 +342,10 @@ public class UserApiController {
// 判断业务入参是否为空
if (StringUtils.isBlank(request.getSubMerchantCode()) ||
// StringUtils.isBlank(request.getIdentityCode()) ||
StringUtils.isBlank(request.getFunction()) || StringUtils.isBlank(request.getCardType()) || StringUtils.isBlank(request.getCardNo()) || StringUtils.isBlank(request.getCardMobile()) || StringUtils.isBlank(request.getBelongBank()) || StringUtils.isBlank(request.getCardBank())) {
StringUtils.isBlank(request.getFunction()) ||
StringUtils.isBlank(request.getCardType()) || StringUtils.isBlank(request.getCardNo()) || StringUtils.isBlank(request.getCardMobile()) || StringUtils.isBlank(request.getBelongBank())
|| StringUtils.isBlank(request.getCardSrc())
) {
resp.setStatus(ComCode.STATUS_CODE_4001);
resp.setMessage(ComCode.STATUS_CODE_4001_DESC);
return resp;
......@@ -459,12 +462,15 @@ public class UserApiController {
try {
// 判断业务入参是否为空
if (StringUtils.isBlank(request.getSubMerchantCode())
|| StringUtils.isBlank(request.getFunction()) || StringUtils.isBlank(request.getIdentityCode())
// || StringUtils.isBlank(request.getFunction()) || StringUtils.isBlank(request.getIdentityCode())
|| StringUtils.isBlank(request.getRealName()) || StringUtils.isBlank(request.getIdCard())
|| StringUtils.isBlank(request.getCardNo()) || StringUtils.isBlank(request.getCardMobile())
|| StringUtils.isBlank(request.getBelongBank())
|| StringUtils.isBlank(request.getCardBank())
) {
|| StringUtils.isBlank(request.getIdCardFront())|| StringUtils.isBlank(request.getIdCardBack())
|| StringUtils.isBlank(request.getIdCardBack())) {
logger.debug("业务参数就异常了");
// || StringUtils.isBlank(request.getIdCardPlace())|| StringUtils.isBlank(request.getIdCardFront())|| StringUtils.isBlank(request.getIdCardBack())|| StringUtils.isBlank(request.getIdCardBack())
// || StringUtils.isBlank(request.getIdCardHold())|| StringUtils.isBlank(request.getDebitCard())|| StringUtils.isBlank(request.getCardSrc())|| StringUtils.isBlank(request.getCardPlace())
......@@ -488,19 +494,19 @@ public class UserApiController {
// 根据手机号 + 使用场景 + 验证码查询
request.setMobile(request.getCardMobile());
IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request);
// IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request);
// 验证码使用场景
if (identityCodeEntity == null) {
resp.setStatus(ComCode.STATUS_CODE_4010);
resp.setMessage(ComCode.STATUS_CODE_4010_DESC);
return resp;
}
// if (identityCodeEntity == null) {
// resp.setStatus(ComCode.STATUS_CODE_4010);
// resp.setMessage(ComCode.STATUS_CODE_4010_DESC);
// return resp;
// }
// 验证码是否过期
if (!userService.checkIdentifyCodeExpired(identityCodeEntity)) {
resp.setStatus(ComCode.STATUS_CODE_4009);
resp.setMessage(ComCode.STATUS_CODE_4009_DESC);
return resp;
}
// if (!userService.checkIdentifyCodeExpired(identityCodeEntity)) {
// resp.setStatus(ComCode.STATUS_CODE_4009);
// resp.setMessage(ComCode.STATUS_CODE_4009_DESC);
// return resp;
// }
userService.certification(request);
resp.setStatus(ComCode.STATUS_CODE_2000);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
......
......@@ -49,7 +49,9 @@ import java.util.List;
@Lazy(false)
@Transactional
public class UserApiService {
/** log */
/**
* log
*/
private static Logger logger = LoggerFactory.getLogger(UserApiService.class);
@Autowired
......@@ -63,6 +65,27 @@ public class UserApiService {
@Autowired
private JuHeZhongPayJFenService juHeZhongPayJFenService;
public static String getCardDetailByAli(String cardNo) {
String urls = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=%s&cardBinCheck=true";
String url = String.format(urls, cardNo);
StringBuilder sb = new StringBuilder();
try {
URL urlObject = new URL(url);
URLConnection uc = urlObject.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String inputLine = null;
while ((inputLine = in.readLine()) != null) {
sb.append(inputLine);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
public UserEntity getUserInfo(Request request) {
UserEntity user = userDao.getUserInfo(request);
// 以下两行代码应Android要求,增加空detail和card
......@@ -80,29 +103,29 @@ public class UserApiService {
StringBuilder sb = new StringBuilder();
// 发送验证码 1注册 2验证码登录 3忘记密码/修改密码 4实名认证 5添加储蓄卡 6添加信用卡
if("1".equals(request.getFunction()) ){ // 注册
if ("1".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else if("2".equals(request.getFunction()) ){ // 注册
} else if ("2".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else if("3".equals(request.getFunction()) ){ // 注册
} else if ("3".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else if("4".equals(request.getFunction()) ){ // 注册
} else if ("4".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else if("5".equals(request.getFunction()) ){ // 注册
} else if ("5".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else if("6".equals(request.getFunction()) ){ // 注册
} else if ("6".equals(request.getFunction())) { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}else{ // 注册
} else { // 注册
sb.append("验证码:");
sb.append(identifyCode);
}
MessageUtils.sendMessage(request.getMobile(),"28",sb.toString());
MessageUtils.sendMessage(request.getMobile(), "28", sb.toString());
// 验证码入库
IdentityCodeEntity identityCodeEntity = new IdentityCodeEntity(IdGen.randomBase62(64), request.getFunction(), request.getMobile(), identifyCode);
......@@ -115,7 +138,6 @@ public class UserApiService {
return userDao.getIdentifyCode(request);
}
public boolean checkIdentifyCodeExpired(IdentityCodeEntity identityCodeEntity) throws ParseException {
Date now = new Date();
Date created = ComCode.YYYYMMDD_HHMMSS.parse(identityCodeEntity.getCreated());
......@@ -130,9 +152,10 @@ public class UserApiService {
return userDao.checkRecommend(request);
}
public int checkNoUser(){
return userDao.checkNoUser();
public int checkNoUser() {
return userDao.checkNoUser();
}
public UserEntity checkMobile(UserRequest request) {
return userDao.checkMobile(request);
}
......@@ -152,10 +175,10 @@ public class UserApiService {
// 保存用户信息
String code = IdGen.randomBase62(64);
UserEntity recommend = userDao.checkRecommend(request);
if(recommend == null && userDao.checkNoUser() >0){
if (recommend == null && userDao.checkNoUser() > 0) {
throw new MyException("推荐人手机号码不存在");
}
UserEntity userEntity = new UserEntity(code, "", request.getMobile(), MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"), request.getRecommendedMobile(), recommend==null?"0"+",":recommend.getRecommendedPath() + recommend.getId() + ",", recommend.getBelongTo());
UserEntity userEntity = new UserEntity(code, "", request.getMobile(), MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"), request.getRecommendedMobile(), recommend == null ? "0" + "," : recommend.getRecommendedPath() + recommend.getId() + ",", recommend.getBelongTo());
userDao.signUp(userEntity);
UserEntity user = userDao.getUserInfo(new Request(code));
// 以下两行代码应Android要求,增加空detail和card
......@@ -190,7 +213,7 @@ public class UserApiService {
if (userDetailEntity != null) {
userEntity.setUserDetail(userDetailEntity);
CardEntity cardEntity = userDao.getCardInfoByCode(userEntity);
userEntity.getUserDetail().setCard(cardEntity==null?new CardEntity():cardEntity);
userEntity.getUserDetail().setCard(cardEntity == null ? new CardEntity() : cardEntity);
} else {
userDetailEntity = new UserDetailEntity();
userEntity.setUserDetail(userDetailEntity);
......@@ -234,17 +257,17 @@ public class UserApiService {
public void addNewCard(UserRequest request) throws MyException, Exception {
//校验银行卡的卡号
String checkCardNum = checkCardNum(request.getCardNo());
if(StringUtils.isBlank(checkCardNum)){
if (StringUtils.isBlank(checkCardNum)) {
logger.debug("输入银行卡号有误");
throw new MyException("输入银行卡号有误");
}
CardEntity cardEntity1 = userDao.getCardEntity(request);
if(cardEntity1 != null){
if (cardEntity1 != null) {
throw new MyException("不能重复添加卡片");
}
// CC信用卡,DC储蓄卡
String cardType = checkCardNum.equals("CC")?"C":"D";
if (!request.getCardType().equals(cardType)){
String cardType = checkCardNum.equals("CC") ? "C" : "D";
if (!request.getCardType().equals(cardType)) {
logger.debug("银行卡类别不正确");
throw new MyException("银行卡类别不正确");
}
......@@ -253,10 +276,11 @@ public class UserApiService {
String status = "1"; // 新增卡片审核状态均为审核
String subMerchantId = "";//registJuHeZhongPay(request, type);
String cardSrc = "";
if(request.getCardSrc()!= null){
if (request.getCardSrc() != null) {
cardSrc = request.getCardSrc().replace(Global.getConfig("sys.pre.url"), "");
}
CardEntity cardEntity = new CardEntity(code, request.getSubMerchantCode(), request.getCardType(), request.getCardNo(),request.getExpireDate(),request.getCvn2(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getProvince()+request.getCity(), "N", subMerchantId, cardSrc, type, status, request.getProvince(), request.getCity());
CardEntity entity = userDao.getDebitCardByUserCode(request);
CardEntity cardEntity = new CardEntity(code, request.getSubMerchantCode(), request.getCardType(), request.getCardNo(), request.getExpireDate(), request.getCvn2(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getProvince() + request.getCity(), entity == null ? "Y" : "N", subMerchantId, cardSrc, type, status, request.getProvince(), request.getCity());
userDao.addNewCard(cardEntity);
}
......@@ -277,13 +301,13 @@ public class UserApiService {
logger.debug("进入实名认证service");
// 校验银行卡的卡号是否正确
String checkCardNum = checkCardNum(request.getCardNo());
if(StringUtils.isBlank(checkCardNum)){
if (StringUtils.isBlank(checkCardNum)) {
throw new MyException("输入银行卡号有误!");
}
// CC信用卡,DC储蓄卡
String cardType = checkCardNum.equals("CC")?"C":"D";
String cardType = checkCardNum.equals("CC") ? "C" : "D";
// 更新用户详情
UserDetailEntity userDetailEntity = new UserDetailEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), request.getRealName(), request.getIdCard(), request.getProvince()+request.getCity(), "", "", "", "");
UserDetailEntity userDetailEntity = new UserDetailEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), request.getRealName(), request.getIdCard(), request.getProvince() + request.getCity(), request.getIdCardFront().replace(Global.getConfig("sys.pre.url"), ""), request.getIdCardBack().replace(Global.getConfig("sys.pre.url"), ""), request.getIdCardHold().replace(Global.getConfig("sys.pre.url"), ""), request.getDebitCard().replace(Global.getConfig("sys.pre.url"), ""));
if (userDao.getUserDetailByCode(new UserEntity(request.getSubMerchantCode())) == null) {
userDao.saveUserDetail(userDetailEntity);
logger.debug("存完userdetail信息");
......@@ -297,17 +321,15 @@ public class UserApiService {
String subMerchantId = null;//registJuHeZhongPay(request, type);
// 更新银行卡详情
CardEntity cardStatusEntity = new CardEntity(request.getSubMerchantCode(), "N");
userDao.updateCardStatus(cardStatusEntity);
logger.debug("修改完银行卡信息");
CardEntity cardEntity = new CardEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), cardType, request.getCardNo(), request.getExpireDate(), request.getCvn2(),request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "Y", subMerchantId, "", type, status, request.getProvince(), request.getCity());
CardEntity cardEntity = new CardEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), cardType, request.getCardNo(), request.getExpireDate(), request.getCvn2(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "Y", subMerchantId, request.getCardSrc().replace(Global.getConfig("sys.pre.url"), ""), type, status, request.getProvince(), request.getCity());
CardEntity cardInfo = userDao.getCardEntity(request);
if(cardInfo == null){
if (cardInfo == null) {
userDao.addNewCard(cardEntity);
}else{
} else {
userDao.updateCard(cardEntity);
}
//原有代码推荐好友逻辑修改,放到定时任务中
......@@ -459,6 +481,9 @@ public class UserApiService {
public List<BelongBankEntity> getBelongBank(UserRequest request) {
return userDao.getBelongBank(request);
}
/*
* 以下为类内使用方法
*/
// 改变结算卡
@Transactional(readOnly = false)
......@@ -472,9 +497,6 @@ public class UserApiService {
// 修改用户的结算卡
// updateSettleJuHeZhongPay(cardEntity);
}
/*
* 以下为类内使用方法
*/
/**
* 注册JuHeZhong支付用户 无积分
......@@ -491,7 +513,7 @@ public class UserApiService {
throw new MyException("用户信息为空");
}
UserDetailEntity userDetailEntity = userDao.getUserDetailByCode(userEntity);
RateEntity rateEntityParam = new RateEntity(userEntity.getLevel(), "quick","");
RateEntity rateEntityParam = new RateEntity(userEntity.getLevel(), "quick", "");
RateEntity rateEntity = userDao.getRateByLevel(rateEntityParam);
if (rateEntity == null) {
throw new MyException("费率等级信息为空");
......@@ -521,11 +543,11 @@ public class UserApiService {
}
// 积分 商户入网
public String quickPayHandleJuhezhong(UserRequest request, String type,String level) throws MyException, Exception {
public String quickPayHandleJuhezhong(UserRequest request, String type, String level) throws MyException, Exception {
BelongBankEntity belongBankEntity = userDao.getBelongBankEntity(request);
// UserDetailEntity userDetailEntity = userDao.getUserDetailByCode(userEntity);
RateEntity rateEntityParam = new RateEntity(level, "quick",ComCode.PAYCHANNEL_HL3);
RateEntity rateEntityParam = new RateEntity(level, "quick", ComCode.PAYCHANNEL_HL3);
RateEntity rateEntity = userDao.getRateByLevel(rateEntityParam);
if (rateEntity == null) {
throw new MyException("费率等级信息为空");
......@@ -536,19 +558,19 @@ public class UserApiService {
dto.put("orderId", orderId);//标识请求唯一(非订单号)
dto.put("serviceType", 1);//服务类型
dto.put("merchantId", ComCode.INTEGRAL_MERCHANT_ID);//商户号
dto.put("subMerchantName",request.getRealName()+orderId );//对公的就按照营业执照的注册名称进行商户名的报备进件,个体户的需要突出省,市,区一级营业范围,如:“XX市+XX区+法人名称+营业范围”--例“北京市朝阳区洪新阳饭店”而且一个身份证不要重复入很多个做银联二维码交易的商户 原则上一个身份证下只有一个做银联二维码交易的户,23:00—7:00,这段时间,银联二维码可以交易,不结算
dto.put("subMerchantName", request.getRealName() + orderId);//对公的就按照营业执照的注册名称进行商户名的报备进件,个体户的需要突出省,市,区一级营业范围,如:“XX市+XX区+法人名称+营业范围”--例“北京市朝阳区洪新阳饭店”而且一个身份证不要重复入很多个做银联二维码交易的商户 原则上一个身份证下只有一个做银联二维码交易的户,23:00—7:00,这段时间,银联二维码可以交易,不结算
dto.put("accName", request.getRealName());//开户名称
dto.put("accNo", request.getCardNo());//开户账号
dto.put("accType",1); //1=个人账户 0=企业账户1=个人账户
dto.put("accType", 1); //1=个人账户 0=企业账户1=个人账户
dto.put("bankName", belongBankEntity.getBankName());//开户银行名(支行全称)
dto.put("bankCode", request.getBelongBank());//联行号
dto.put("mobile",request.getMobile());
dto.put("idNo",request.getIdCard());//身份证号
dto.put("mobile", request.getMobile());
dto.put("idNo", request.getIdCard());//身份证号
dto.put("settleType",rateEntity.getRateType());//费率类型 795934
dto.put("address",request.getCardPlace());//地址
dto.put("settleType", rateEntity.getRateType());//费率类型 795934
dto.put("address", request.getCardPlace());//地址
dto.put("merchantKey", ComCode.INTEGRAL_MERCHANT_KEY);//商户key
dto.put("timestamp", System.currentTimeMillis());//时间戳
......@@ -559,8 +581,6 @@ public class UserApiService {
return jsonObject.getString("subMchId");
}
// JFen 商户入网
public String merchantInJFenJuhezhong(UserRequest request) throws MyException, Exception {
logger.debug("开始商户入网");
......@@ -570,7 +590,7 @@ public class UserApiService {
throw new MyException("用户信息为空");
}
// UserDetailEntity userDetailEntity = userDao.getUserDetailByCode(userEntity);
RateEntity rateEntityParam = new RateEntity(userEntity.getLevel(), "quick",ComCode.PAYCHANNEL_HL3);
RateEntity rateEntityParam = new RateEntity(userEntity.getLevel(), "quick", ComCode.PAYCHANNEL_HL3);
RateEntity rateEntity = userDao.getRateByLevel(rateEntityParam);
if (rateEntity == null) {
throw new MyException("费率等级信息为空");
......@@ -581,55 +601,55 @@ public class UserApiService {
dto.put("orderId", MakeOrderNum.makeOrderNum());
dto.put("serviceType",1);
dto.put("subMerchantName",request.getRealName()+orderId);
dto.put("subMerchantType","PERSON");
dto.put("businessLicense",request.getRealName()+orderId);
dto.put("legalPersonName",request.getRealName());
dto.put("legalPersonID",request.getIdCard());
dto.put("subMerchantPersonName",request.getRealName());
dto.put("subMerchantPersonPhone",userEntity.getMobile());
dto.put("bankType","TOPRIVATE");
dto.put("accountName",request.getRealName());
dto.put("accountNo",request.getCardNo());
dto.put("bankName",belongBankEntity.getBankName());
dto.put("bankProv",request.getProvince());
dto.put("bankCity",request.getCity());
dto.put("bankBranch",request.getProvince()+request.getCity());
dto.put("bankCode",request.getBelongBank());
dto.put("timestamp",System.currentTimeMillis());
JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
dto.put("serviceType", 1);
dto.put("subMerchantName", request.getRealName() + orderId);
dto.put("subMerchantType", "PERSON");
dto.put("businessLicense", request.getRealName() + orderId);
dto.put("legalPersonName", request.getRealName());
dto.put("legalPersonID", request.getIdCard());
dto.put("subMerchantPersonName", request.getRealName());
dto.put("subMerchantPersonPhone", userEntity.getMobile());
dto.put("bankType", "TOPRIVATE");
dto.put("accountName", request.getRealName());
dto.put("accountNo", request.getCardNo());
dto.put("bankName", belongBankEntity.getBankName());
dto.put("bankProv", request.getProvince());
dto.put("bankCity", request.getCity());
dto.put("bankBranch", request.getProvince() + request.getCity());
dto.put("bankCode", request.getBelongBank());
dto.put("timestamp", System.currentTimeMillis());
JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
if (!"0000".equals(jsonObject.getString("code"))) {
logger.debug("商户入网失败,jsonObject: {} "+jsonObject);
logger.debug("商户入网失败,jsonObject: {} " + jsonObject);
throw new MyException(jsonObject.getString("msg"));
}
logger.debug("商户入网完成");
return jsonObject.getString("subMchId");
}
public void submitPayTest(String subMchId) throws Exception {
JSONObject dto = new JSONObject();
dto.put("serviceType", 4);// 服务类型
dto.put("merchantId",ComCode.INTEGRAL_MERCHANT_ID);//商户号
dto.put("merchantId", ComCode.INTEGRAL_MERCHANT_ID);//商户号
dto.put("orderId", IdGen.randomBase62(64));//订单号
dto.put("subMchId", subMchId);//由系统分配的商户号
dto.put("merchantKey", ComCode.INTEGRAL_MERCHANT_KEY);//商户key
dto.put("timestamp", System.currentTimeMillis());//时间戳
JSONObject jsonObject = juHeZhongPayIntegralService.quickPayHandle(dto);
System.out.println(jsonObject.toJSONString());
if(!"0000".equals(jsonObject.get("code"))){
if (!"0000".equals(jsonObject.get("code"))) {
throw new MyException();
}
}
/**
* JuHeZhong支付用户费率
*
* @param rateEntity
* @return
* @throws MyException
......@@ -639,20 +659,20 @@ public class UserApiService {
logger.debug("进入增加或修改支付用户费率开始");
// 修改费率
JSONObject dto = new JSONObject();
dto.put("subMchId",subMchId);
dto.put("paymentType","QUICKPAY");
dto.put("d0Fee",rateEntity.getRate());
dto.put("d1Fee",rateEntity.getRate());
dto.put("subMchId", subMchId);
dto.put("paymentType", "QUICKPAY");
dto.put("d0Fee", rateEntity.getRate());
dto.put("d1Fee", rateEntity.getRate());
JSONObject jsonObject = null;
if("1".equals(rateEntity.getServiceType())){
if ("1".equals(rateEntity.getServiceType())) {
jsonObject = juHeZhongPayJFenService.merchantModifyFeel(dto);
}else {
} else {
logger.debug("进入到增加费率");
jsonObject = juHeZhongPayJFenService.merchantAddFeel(dto);
}
if (!"0000".equals(jsonObject.getString("code"))) {
logger.debug("增加或修改用户费率失败, jsonObject: {}",jsonObject);
logger.debug("增加或修改用户费率失败, jsonObject: {}", jsonObject);
throw new MyException(jsonObject.getString("msg"));
}
logger.debug("增加或修改用户费率结束");
......@@ -711,91 +731,88 @@ public class UserApiService {
}
}
public RateEntity getRateByLevel(RateEntity rateEntityParam){
public RateEntity getRateByLevel(RateEntity rateEntityParam) {
return userDao.getRateByLevel(rateEntityParam);
}
public CardEntity getDebitCardByUserCode(UserRequest request){
public CardEntity getDebitCardByUserCode(UserRequest request) {
return userDao.getDebitCardByUserCode(request);
}
public CardEntity getDebitCardByUserCode(String code){
public CardEntity getDebitCardByUserCode(String code) {
UserRequest request = new UserRequest();
request.setSubMerchantCode(code);
return userDao.getDebitCardByUserCode(request);
}
@Transactional(readOnly = false)
public void updateUser(UserRequest request){
if(StringUtils.isNotBlank(request.getAvatar())){
request.setAvatar(StringUtils.replace(request.getAvatar(),Global.getConfig("image.save.url"),""));
public void updateUser(UserRequest request) {
if (StringUtils.isNotBlank(request.getAvatar())) {
request.setAvatar(StringUtils.replace(request.getAvatar(), Global.getConfig("image.save.url"), ""));
}
userDao.updateUser(request);
}
public List<RateEntity> getRateListByLevel(RateEntity rateEntityParam){
List < RateEntity > rateListByLevel = userDao.getRateListByLevel ( rateEntityParam );
for ( RateEntity rateEntity : rateListByLevel ) {
String singlePrice = " + 0元";
if ( StringUtils.isNotBlank ( rateEntity.getSiglePrice ( ) ) ) {
singlePrice = " + " + rateEntity.getSiglePrice ( ) + "元";
}
if ( StringUtils.isNotBlank ( rateEntity.getRate ( ) ) ) {
DecimalFormat decimalFormat = new DecimalFormat ( "##0.00" );
rateEntity.setRate ( decimalFormat.format ( Float.parseFloat ( rateEntity.getRate ( ) ) * 100 ) + "%" + singlePrice );
} else {
rateEntity.setRate ( "0.00%" + singlePrice );
}
}
return rateListByLevel;
}
public Level getLevelByUserLevel(UserRequest request){
public List<RateEntity> getRateListByLevel(RateEntity rateEntityParam) {
List<RateEntity> rateListByLevel = userDao.getRateListByLevel(rateEntityParam);
for (RateEntity rateEntity : rateListByLevel) {
String singlePrice = " + 0元";
if (StringUtils.isNotBlank(rateEntity.getSiglePrice())) {
singlePrice = " + " + rateEntity.getSiglePrice() + "元";
}
if (StringUtils.isNotBlank(rateEntity.getRate())) {
DecimalFormat decimalFormat = new DecimalFormat("##0.00");
rateEntity.setRate(decimalFormat.format(Float.parseFloat(rateEntity.getRate()) * 100) + "%" + singlePrice);
} else {
rateEntity.setRate("0.00%" + singlePrice);
}
}
return rateListByLevel;
}
public Level getLevelByUserLevel(UserRequest request) {
return userDao.getLevelByUserLevel(request);
}
public void addUserSubmchid(UserSubMchId userSubMchId){
public void addUserSubmchid(UserSubMchId userSubMchId) {
userDao.addUserSubmchid(userSubMchId);
}
public UserSubMchId getUserSubmchid(UserSubMchId userSubMchId){
public UserSubMchId getUserSubmchid(UserSubMchId userSubMchId) {
return userDao.getUserSubmchid(userSubMchId);
}
public int updateUserSubmchid(UserSubMchId userSubMchId){
return userDao.updateUserSubmchid(userSubMchId);
public int updateUserSubmchid(UserSubMchId userSubMchId) {
return userDao.updateUserSubmchid(userSubMchId);
}
public BelongBankEntity getBelongBankEntity(String belongBank){
public BelongBankEntity getBelongBankEntity(String belongBank) {
UserRequest request = new UserRequest();
request.setBelongBank(belongBank);
return userDao.getBelongBankEntity(request);
}
public CardEntity getCardByCardNo(String cardNo){
public CardEntity getCardByCardNo(String cardNo) {
CardEntity cardEntity = new CardEntity();
cardEntity.setCardNo(cardNo);
return userDao.getCardByCardNo(cardEntity);
}
public int addSwpaccid(CardSwpaccidEntity entity){
public int addSwpaccid(CardSwpaccidEntity entity) {
return userDao.addSwpaccid(entity);
}
public CardSwpaccidEntity getSwpaccid(CardSwpaccidEntity cardSwpaccidEntity){
public CardSwpaccidEntity getSwpaccid(CardSwpaccidEntity cardSwpaccidEntity) {
return userDao.getSwpaccid(cardSwpaccidEntity);
}
public UserDetailEntity getUserDetailByCode(String userCode){
public UserDetailEntity getUserDetailByCode(String userCode) {
UserEntity userEntity = new UserEntity();
userEntity.setCode(userCode);
return userDao.getUserDetailByCode(userEntity);
}
public List<BelongBankEntity> getBelongBankByPayChannel(String payChannel){
public List<BelongBankEntity> getBelongBankByPayChannel(String payChannel) {
UserRequest request = new UserRequest();
request.setPayChannel(payChannel);
......@@ -808,23 +825,23 @@ public class UserApiService {
}
public void updateUserLevelByCode(UserEntity recommendedUser){
public void updateUserLevelByCode(UserEntity recommendedUser) {
userDao.updateUserLevelByCode(recommendedUser);
}
// 添加 待升级王者的用户记录表
public Integer addUpgradeUser(UpgradeUserEntity upgradeUserEntity){
upgradeUserEntity.setCreated(DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"));
public Integer addUpgradeUser(UpgradeUserEntity upgradeUserEntity) {
upgradeUserEntity.setCreated(DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
upgradeUserEntity.setCreatedUser("sys");
upgradeUserEntity.setModified(DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"));
upgradeUserEntity.setModified(DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
upgradeUserEntity.setModifiedUser("sys");
return userDao.addUpgradeUser(upgradeUserEntity);
}
// 更新 待升级王者的用户记录表
public Integer updateUpgradeUser(UpgradeUserEntity upgradeUserEntity){
upgradeUserEntity.setModified(DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"));
public Integer updateUpgradeUser(UpgradeUserEntity upgradeUserEntity) {
upgradeUserEntity.setModified(DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
upgradeUserEntity.setModifiedUser("sys");
return userDao.updateUpgradeUser(upgradeUserEntity);
......@@ -837,21 +854,21 @@ public class UserApiService {
}
//获取已激活数量
public Integer getActiveNum(UserRequest request){
public Integer getActiveNum(UserRequest request) {
return userDao.getActiveUserNum(request);
}
//定时任务
public void updateUserLevel(){
public void updateUserLevel() {
logger.debug("修改用户等级的定时任务开始执行");
// 满足条件:
// 1,青铜用户;2,推荐人数大于2个;3,每个被推荐人交易金额大于1万
//获得符合前两个条件的推荐人
List<UserEntity> list = userDao.getUserLevelIsE();
for(UserEntity entity : list){
for (UserEntity entity : list) {
Integer matchNum = userDao.getMatchNum(entity.getMobile());
logger.debug("用户mobile: {} ,符合条件的数量: {}",entity.getMobile(),matchNum);
if(matchNum > 2){
logger.debug("用户mobile: {} ,符合条件的数量: {}", entity.getMobile(), matchNum);
if (matchNum > 2) {
// 修改等级,青铜(E)到白银(D)
entity.setLevel("D");
userDao.updateUserLevelByCode(entity);
......@@ -871,97 +888,76 @@ public class UserApiService {
//增加或者修改HL2通道费率
public void timeUpdateRateHL2(UserEntity entity) throws Exception {
UserSubMchId userSubMchId = new UserSubMchId();
userSubMchId.setUserCode(entity.getCode());
userSubMchId.setPayChannel("quick_jfen");
UserSubMchId userSubMchIdQuery = userDao.getUserSubmchid(userSubMchId);
RateEntity rate = new RateEntity();
rate.setUserLevel(entity.getLevel());
rate.setPayChannel("quick_jfen");
rate.setPayMethod("quick");
RateEntity rateEntity = userDao.getRateByLevel(rate);
// 如果推荐人的 quick_jfen 通道下的 subMchId 是空 则该通道下先注册,存在则修改费率
if(userSubMchIdQuery == null){
entity = this.getUserDetailInfo(entity);
JSONObject dto = new JSONObject();
String orderId = MakeOrderNum.makeOrderNum();
dto.put("orderId", MakeOrderNum.makeOrderNum());
dto.put("serviceType",1);
dto.put("subMerchantName",entity.getUserDetail().getRealName()+orderId);
dto.put("subMerchantType","PERSON");
dto.put("businessLicense",entity.getUserDetail().getRealName()+orderId);
dto.put("legalPersonName",entity.getUserDetail().getRealName());
dto.put("legalPersonID",entity.getUserDetail().getIdCard());
dto.put("subMerchantPersonName",entity.getUserDetail().getRealName());
dto.put("subMerchantPersonPhone",entity.getMobile());
dto.put("bankType","TOPRIVATE");
dto.put("accountName",entity.getUserDetail().getRealName());
dto.put("accountNo",entity.getUserDetail().getCard().getCardNo());
dto.put("bankName",entity.getUserDetail().getCard().getBankName());
dto.put("bankProv",entity.getUserDetail().getCard().getProvince());
dto.put("bankCity",entity.getUserDetail().getCard().getCity());
dto.put("bankBranch",entity.getUserDetail().getCard().getCardPlace());
dto.put("bankCode",entity.getUserDetail().getCard().getBelongBank());
dto.put("timestamp",System.currentTimeMillis());
JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
if (!"0000".equals(jsonObject.getString("code"))) {
throw new MyException(jsonObject.getString("msg"));
}
String subMchId = jsonObject.getString("subMchId");
userSubMchIdQuery = new UserSubMchId();
userSubMchIdQuery.setUserCode(entity.getCode());
userSubMchIdQuery.setPayChannel(rateEntity.getPayChannel());
userSubMchIdQuery.setSubmchid(subMchId);
rateEntity.setServiceType("0");// 添加费率
this.addUserSubmchid(userSubMchIdQuery);
this.merchantFeelJFen(subMchId,rateEntity);
}else{
// 修改费率
rateEntity.setServiceType("1");
this.merchantFeelJFen(userSubMchIdQuery.getSubmchid(),rateEntity);
}
UserSubMchId userSubMchId = new UserSubMchId();
userSubMchId.setUserCode(entity.getCode());
userSubMchId.setPayChannel("quick_jfen");
UserSubMchId userSubMchIdQuery = userDao.getUserSubmchid(userSubMchId);
RateEntity rate = new RateEntity();
rate.setUserLevel(entity.getLevel());
rate.setPayChannel("quick_jfen");
rate.setPayMethod("quick");
RateEntity rateEntity = userDao.getRateByLevel(rate);
// 如果推荐人的 quick_jfen 通道下的 subMchId 是空 则该通道下先注册,存在则修改费率
if (userSubMchIdQuery == null) {
entity = this.getUserDetailInfo(entity);
JSONObject dto = new JSONObject();
String orderId = MakeOrderNum.makeOrderNum();
dto.put("orderId", MakeOrderNum.makeOrderNum());
dto.put("serviceType", 1);
dto.put("subMerchantName", entity.getUserDetail().getRealName() + orderId);
dto.put("subMerchantType", "PERSON");
dto.put("businessLicense", entity.getUserDetail().getRealName() + orderId);
dto.put("legalPersonName", entity.getUserDetail().getRealName());
dto.put("legalPersonID", entity.getUserDetail().getIdCard());
dto.put("subMerchantPersonName", entity.getUserDetail().getRealName());
dto.put("subMerchantPersonPhone", entity.getMobile());
dto.put("bankType", "TOPRIVATE");
dto.put("accountName", entity.getUserDetail().getRealName());
dto.put("accountNo", entity.getUserDetail().getCard().getCardNo());
dto.put("bankName", entity.getUserDetail().getCard().getBankName());
dto.put("bankProv", entity.getUserDetail().getCard().getProvince());
dto.put("bankCity", entity.getUserDetail().getCard().getCity());
dto.put("bankBranch", entity.getUserDetail().getCard().getCardPlace());
dto.put("bankCode", entity.getUserDetail().getCard().getBelongBank());
dto.put("timestamp", System.currentTimeMillis());
JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
if (!"0000".equals(jsonObject.getString("code"))) {
throw new MyException(jsonObject.getString("msg"));
}
String subMchId = jsonObject.getString("subMchId");
userSubMchIdQuery = new UserSubMchId();
userSubMchIdQuery.setUserCode(entity.getCode());
userSubMchIdQuery.setPayChannel(rateEntity.getPayChannel());
userSubMchIdQuery.setSubmchid(subMchId);
rateEntity.setServiceType("0");// 添加费率
this.addUserSubmchid(userSubMchIdQuery);
this.merchantFeelJFen(subMchId, rateEntity);
} else {
// 修改费率
rateEntity.setServiceType("1");
this.merchantFeelJFen(userSubMchIdQuery.getSubmchid(), rateEntity);
}
}
//获取银行卡类型,非空则银行卡正确,返回银行卡类型
private String checkCardNum(String cardNum){
private String checkCardNum(String cardNum) {
String cardDetail = getCardDetailByAli(cardNum);
JSONObject parse = (JSONObject) JSONObject.parse(cardDetail);
if(parse.get("validated").equals(true)){
if (parse.get("validated").equals(true)) {
return parse.get("cardType").toString();
}
logger.debug("银行卡校验失败: {}",parse.get("messages"));
logger.debug("银行卡校验失败: {}", parse.get("messages"));
return "";
}
public static String getCardDetailByAli(String cardNo) {
String urls = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=%s&cardBinCheck=true";
String url = String.format(urls, cardNo);
StringBuilder sb = new StringBuilder();
try {
URL urlObject = new URL(url);
URLConnection uc = urlObject.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String inputLine = null;
while ( (inputLine = in.readLine()) != null) {
sb.append(inputLine);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
public List<LevelDetail> getLevelDetail(){
public List<LevelDetail> getLevelDetail() {
List<LevelDetail> levels = userDao.getLevelDetail();
return levels;
}
......
......@@ -22,6 +22,8 @@
cms_article a
LEFT JOIN cms_article_data b ON a.id = b.id
WHERE
a.del_flag = 0
AND
<if test='noticeType=="F"'>
a.is_flow = 'Y'
</if>
......
......@@ -24,6 +24,7 @@
cms_article a
WHERE
a.is_flow = 'N'
AND a.del_flag = 0
AND a.is_tip = 'N'
AND a.category_id = 28
AND a.scope LIKE CONCAT('%',(
......
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