Commit 3acba59c by wangxu

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	src/main/java/com/thinkgem/jeesite/modules/pay/service/PayApiService.java
parents 692524e4 35f677bd
...@@ -50,6 +50,7 @@ public static final String QUICK_WEB_PAY = "/quick/web/pay"; ...@@ -50,6 +50,7 @@ public static final String QUICK_WEB_PAY = "/quick/web/pay";
public static final String QUICK_PAY_URL = "/api/quick/pre/pay"; // 快捷支付 public static final String QUICK_PAY_URL = "/api/quick/pre/pay"; // 快捷支付
public static final String NO_INTEGRAL_QUICK_PAY_URL = "/quick/pay"; // 无积分快捷支付 public static final String NO_INTEGRAL_QUICK_PAY_URL = "/quick/pay"; // 无积分快捷支付
public static final String NO_INTEGRAL_ORDER_QUERY_URL = "/order/query"; // 查询订单 public static final String NO_INTEGRAL_ORDER_QUERY_URL = "/order/query"; // 查询订单
public static final String NOTIFY_CALLBACK_URL = "http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay";
public static final String EXTRA_RATE = "200"; // 附加手续费(单位:分) public static final String EXTRA_RATE = "200"; // 附加手续费(单位:分)
......
...@@ -133,34 +133,34 @@ public class JuHeZhongPayJFenService { ...@@ -133,34 +133,34 @@ public class JuHeZhongPayJFenService {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
JuHeZhongPayJFenService juHeZhongPayJFenService = new JuHeZhongPayJFenService(); JuHeZhongPayJFenService juHeZhongPayJFenService = new JuHeZhongPayJFenService();
JSONObject dto = new JSONObject(); // 商户入驻
dto.put("orderId", MakeOrderNum.makeOrderNum()); // JSONObject dto = new JSONObject();
// subMchId = B105244442 // dto.put("orderId", MakeOrderNum.makeOrderNum());
//// subMchId = B105244442
////
//// 聂换换 B105247024
// dto.put("serviceType",1);
// dto.put("subMerchantName","B105244442");
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense","businessLicense23");
// dto.put("legalPersonName","唐挺");
// dto.put("legalPersonID","510623198809184419");
// dto.put("subMerchantPersonName","唐挺");
// dto.put("subMerchantPersonPhone","15902202472");
// dto.put("bankType","TOPRIVATE");
// //
// 聂换换 B105247024 // dto.put("accountName","唐挺");
dto.put("serviceType",1); // dto.put("accountNo","6217000066011457475");
dto.put("subMerchantName","kklsubMerchantName32"); // dto.put("bankName","中国建设银行");
dto.put("subMerchantType","PERSON"); // dto.put("bankProv","天津");
dto.put("businessLicense","businessLicense23"); // dto.put("bankCity","天津市");
dto.put("legalPersonName","聂换换"); // dto.put("bankBranch","开户地址new");
dto.put("legalPersonID","130434199212214429"); // dto.put("bankCode","105100000017");
dto.put("subMerchantPersonName","聂换换"); //
dto.put("subMerchantPersonPhone","13722537737"); // dto.put("timestamp",System.currentTimeMillis());
dto.put("bankType","TOPRIVATE"); //
// JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
dto.put("accountName","聂换换"); // System.out.println(jsonObject);
dto.put("accountNo","6217000060031684713");
dto.put("bankName","中国建设银行");
dto.put("bankProv","天津");
dto.put("bankCity","天津市");
dto.put("bankBranch","开户地址new");
dto.put("bankCode","105100000017");
dto.put("timestamp",System.currentTimeMillis());
juHeZhongPayJFenService.merchantIn(dto);
// dto.put("subMchId","B105247024"); // dto.put("subMchId","B105247024");
// dto.put("paymentType","QUICKPAY"); // dto.put("paymentType","QUICKPAY");
...@@ -179,10 +179,49 @@ public class JuHeZhongPayJFenService { ...@@ -179,10 +179,49 @@ public class JuHeZhongPayJFenService {
// dto.put("accountName","李波"); // dto.put("accountName","李波");
// dto.put("accountNo","6225571645517950"); // dto.put("accountNo","6225571645517950");
// dto.put("mobile","13821934497"); // dto.put("mobile","13821934497");
// dto.put("notifyUrl","http://39.107.124.166:8080/youka-api/api/pay/openCardCallback"); // dto.put("notifyUrl","http://youkapay.com:8080/youka-api/api/pay/openCardCallback");
// dto.put("merchantKey",ComCode.JFEN_MERCHANT_KEY); // dto.put("merchantKey",ComCode.JFEN_MERCHANT_KEY);
// dto.put("timestamp",System.currentTimeMillis()); // dto.put("timestamp",System.currentTimeMillis());
//查询订单
// CommonDto dto = new CommonDto();
// dto.setOrderId("lKJWcEpDHVXNaB3mA4VlR0FFLniC53OSLVcvptca70WrvG02wFh2u2xx8csWYdbn");
// dto.setMerchantId(ComCode.JFEN_MERCHANT_ID);
// dto.setMerchantKey(ComCode.JFEN_MERCHANT_KEY);
// dto.setTimestamp(System.currentTimeMillis());
// JSONObject query = juHeZhongPayJFenService.query(dto);
// System.out.println(query);
// 添加汇率
// JSONObject dto = new JSONObject();
// dto.put("orderId", MakeOrderNum.makeOrderNum());
// subMchId = B105244442
// 聂换换 B105247024
// dto.put("subMerchantName","kklsubMerchantName32");
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense","businessLicense23");
// dto.put("legalPersonName","聂换换");
// dto.put("legalPersonID","130434199212214429");
// dto.put("subMerchantPersonName","聂换换");
// dto.put("subMerchantPersonPhone","13722537737");
// dto.put("bankType","TOPRIVATE");
//
// dto.put("accountName","聂换换");
// dto.put("accountNo","6217000060031684713");
// dto.put("bankName","中国建设银行");
// dto.put("bankProv","天津");
// dto.put("bankCity","天津市");
// dto.put("bankBranch","开户地址new");
// dto.put("bankCode","105100000017");
//
// dto.put("timestamp",System.currentTimeMillis());
//
// JSONObject jsonObject = juHeZhongPayJFenService.merchantAddFeel(dto);
// System.out.println(jsonObject);
/** /**
* 。。。。。。openCardCallback回调。。。。。 * 。。。。。。openCardCallback回调。。。。。
swpaccid=swpaccid swpaccid=swpaccid
...@@ -218,8 +257,8 @@ public class JuHeZhongPayJFenService { ...@@ -218,8 +257,8 @@ public class JuHeZhongPayJFenService {
2018-04-13 11:41:10,939 DEBUG [jeesite.modules.sys.interceptor.LogInterceptor] - 计时结束:11:41:10.939 耗时:0:0:0.37 URI: /youka-api/api/pay/openCardCallback 最大内存: 1739m 已分配内存: 743m 已分配内存中的剩余空间: 145m 最大可用内存: 1141m 2018-04-13 11:41:10,939 DEBUG [jeesite.modules.sys.interceptor.LogInterceptor] - 计时结束:11:41:10.939 耗时:0:0:0.37 URI: /youka-api/api/pay/openCardCallback 最大内存: 1739m 已分配内存: 743m 已分配内存中的剩余空间: 145m 最大可用内存: 1141m
*/ */
// System.out.println(dto.toJSONString()); // System.out.println(dto.toJSONString());
// juHeZhongPayJFenService.openCard(dto); // JSONObject json = juHeZhongPayJFenService.openCard(dto);
// System.out.println(json);
// dto.put("orderId",MakeOrderNum.makeOrderNum()); // dto.put("orderId",MakeOrderNum.makeOrderNum());
...@@ -236,7 +275,7 @@ public class JuHeZhongPayJFenService { ...@@ -236,7 +275,7 @@ public class JuHeZhongPayJFenService {
// dto.put("mobile","13821934497"); // dto.put("mobile","13821934497");
// dto.put("swpaccid","3296555230614091180"); // dto.put("swpaccid","3296555230614091180");
// //
// dto.put("notifyUrl","http://39.107.124.166:8080/youka-api/api/pay/openCardCallback"); // dto.put("notifyUrl","http://youkapay:8080/youka-api/api/pay/openCardCallback");
// dto.put("amount","1000"); // dto.put("amount","1000");
// juHeZhongPayJFenService.openCard(dto); // juHeZhongPayJFenService.openCard(dto);
// trade_no 20180413135023288124 // trade_no 20180413135023288124
......
...@@ -2,15 +2,18 @@ package com.thinkgem.jeesite.modules.pay.juhezhong.service; ...@@ -2,15 +2,18 @@ package com.thinkgem.jeesite.modules.pay.juhezhong.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.thinkgem.jeesite.common.constant.ComCode; import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.common.utils.JuhezhongUtils; import com.thinkgem.jeesite.common.utils.JuhezhongUtils;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.*; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.*;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.Bean2Map; import com.thinkgem.jeesite.modules.pay.juhezhong.utils.Bean2Map;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.HttpUtil; import com.thinkgem.jeesite.modules.pay.juhezhong.utils.HttpUtil;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.MakeOrderNum;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.SignUtils; import com.thinkgem.jeesite.modules.pay.juhezhong.utils.SignUtils;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Map; import java.util.Map;
/** /**
...@@ -139,8 +142,27 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception { ...@@ -139,8 +142,27 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception {
String respStr = HttpUtil.post(ComCode.HOST + ComCode.NO_INTEGRAL_QUICK_PAY_URL, params); String respStr = HttpUtil.post(ComCode.HOST + ComCode.NO_INTEGRAL_QUICK_PAY_URL, params);
return JSONObject.parseObject(respStr); return JSONObject.parseObject(respStr);
} }
public JSONObject quickPay(JuhezhongDto dto) throws Exception {
Map<String, Object> params = Bean2Map.Entity2Map(dto);
System.out.println(params);
String signBefore = SignUtils.signBefore(params);
System.out.println(signBefore);
String sign = SignUtils.sign(signBefore, ComCode.MERCHANT_SECRET);
System.out.println("sign2:"+sign);
params.put("sign", sign);
String respStr = HttpUtil.post(ComCode.HOST + ComCode.NO_INTEGRAL_QUICK_PAY_URL, params);
return JSONObject.parseObject(respStr);
}
public JSONObject quickPay(JSONObject dto)throws Exception{
String signBefore = SignUtils.signBefore(dto);
System.out.println(signBefore);
String sign = SignUtils.sign(signBefore, ComCode.MERCHANT_SECRET);
System.out.println("sign:"+sign);
dto.put("sign", sign);
String respStr = HttpUtil.post(ComCode.HOST + ComCode.NO_INTEGRAL_QUICK_PAY_URL, dto);
return JSONObject.parseObject(respStr);
}
/** /**
* 查询订单状态 * 查询订单状态
...@@ -176,12 +198,83 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception { ...@@ -176,12 +198,83 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception {
} }
public static void main (String[] args ) throws Exception { public static void main (String[] args ) throws Exception {
// JuhezhongDto dto = new JuhezhongDto();
// dto.setOrderId(MakeOrderNum.makeOrderNum());//非订单号
// dto.setMerchantId(ComCode.MERCHANT_ID);//商户号
//
// dto.setAmount(10000);//订单金额,单位是分
// dto.setTrxType(3);//交易类型,默认传3
// dto.setType(6);//5 借记卡 只能 D0 6 贷记卡 D0 t1
// dto.setBankNo("6217000066011457475");//支付卡号
// dto.setCvn2("065");//安全码
// dto.setPhone("15902202472");//支付卡预留手机号
// dto.setExpired("0528");//信用卡有效期(MMYY)
// dto.setUserFee(200);//手续费 单位:分 ,D0 业务必传
// if(dto.getType() == 6){
//
// dto.setSettleBankName("建设银行");//结算银行 D0 业务必传
// dto.setSettleBankNo("6217000066011457475");//一个身份证只能对应一个结算卡 D0 业务必传
// dto.setSettleBankPhone("13821934497");//结算卡预留手机号 D0 业务必传
// dto.setName("李波");//开户名 D0 业务必传
// dto.setCertificateCode("53250219850831031X");//开户人身份证号 D0 业务必传
// }
// dto.setMerchantKey(ComCode.MERCHANT_KEY);
// dto.setNotifyUrl("http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.setFrontUrl("http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//前台地址url(保留)
// dto.setTimestamp(System.currentTimeMillis());
// System.out.println(new JuHeZhongPayService().quickBPay(dto));
// String order = MakeOrderNum.makeOrderNum();
// JSONObject dto=new JSONObject();
// dto.put("orderId",order);//订单号
// dto.put("merchantId",ComCode.MERCHANT_ID);//商户号
// dto.put("amount",1000L);//交易金额 单位 分
// dto.put("trxType",3);//交易类型 默认2 T1(2,"T1"), D0(3,"D0");
// dto.put("type",6);// 5 借记卡 只能 d0 6 贷记卡 t1 d0
// dto.put("bankNo","6282161411286681");//支付卡号
// dto.put("cvn2","913");//支付卡号
// dto.put("expired","0421");//支付卡号
// dto.put("phone","15902202472");//支付卡预留手机号
// dto.put("userFee",200);//手续费 单位分
// if(dto.getInteger("type")==6){
// dto.put("settleBankName","建设银行");//结算银行
// dto.put("settleBankNo","6217000066011457475");//结算卡号
// dto.put("settleBankPhone","15902202472");//结算卡预留手机号
// dto.put("name","唐挺");//结算账户
// dto.put("certificateCode","510623198809184419");//身份证号
//
// }
// dto.put("merchantKey",ComCode.MERCHANT_KEY);//商户key
// dto.put("notifyUrl","http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.put("frontUrl","http://youkapay.com:8080/youka-api/api/pay/notifyQuickPay");//通知url
// dto.put("timestamp",System.currentTimeMillis());//时间戳
// System.out.println(new JuHeZhongPayService().quickPay(dto));
//查询订单
JuhezhongDto a = new JuhezhongDto ( ); JuhezhongDto a = new JuhezhongDto ( );
a.setOrderId ( "Dy58WqJG3MmNpSpQMq3wKZV55OiO48asPzRp4YUBBZUsVEiow7q6CZTQqwrBTl4k" ); a.setOrderId ( "20180606105801173000" );
a.setMerchantId ( ComCode.MERCHANT_ID ); a.setMerchantId ( ComCode.MERCHANT_ID );
a.setMerchantKey ( ComCode.MERCHANT_KEY ); a.setMerchantKey ( ComCode.MERCHANT_KEY );
a.setTimestamp ( System.currentTimeMillis ( ) ); a.setTimestamp ( System.currentTimeMillis ( ) );
System.out.println ( "Json格式:" + new JuHeZhongPayService ( ).orderQuery ( a ) ); System.out.println ( "Json格式:" + new JuHeZhongPayService ( ).orderQuery ( a ) );
// MerchantDto dto = new MerchantDto();
// dto.setMerchantId(ComCode.MERCHANT_ID);
// dto.setOrderId(IdGen.uuid());//不会产生交易订单
// dto.setIdType("01"); // 根据文档说明,证件类型固定为01
// dto.setAccName("唐挺");
// dto.setAccType(1);//1 对私 2对公
// dto.setAccNo("6217000060031684713");
// dto.setAccProvince("天津市");
// dto.setAccCity("天津");
// dto.setBankCode("建设银行");
// dto.setMobile("15902202472");
// dto.setIdNo("6217000066011457475");
// dto.setSettleRate(new BigDecimal(0));
// dto.setExtraRate(new BigDecimal(ComCode.EXTRA_RATE));
// dto.setTimestamp(System.currentTimeMillis());
// dto.setMerchantKey(ComCode.MERCHANT_KEY);
// System.out.println("结果:"+new JuHeZhongPayService().register(dto));
} }
// public static void main (String[] args) throws Exception { // public static void main (String[] args) throws Exception {
......
package com.thinkgem.jeesite.modules.user.api; package com.thinkgem.jeesite.modules.user.api;
import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.baseBean.Response; import com.thinkgem.jeesite.common.baseBean.Response;
import com.thinkgem.jeesite.common.constant.ComCode; import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.StringUtils; import com.thinkgem.jeesite.common.utils.StringUtils;
...@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -609,5 +611,35 @@ public class UserApiController { ...@@ -609,5 +611,35 @@ public class UserApiController {
// return resp; // return resp;
// } // }
/**
* 获取邀请好友信息
* @param request
* @return
*/
@PostMapping("/getMyInviting")
public Response getMyInviting(UserRequest request){
Response resp = new Response();
if(request == null || StringUtils.isBlank(request.getSubMerchantCode())){
resp.setStatus(ComCode.STATUS_CODE_4002);
resp.setMessage(ComCode.STATUS_CODE_4001_DESC);
return resp;
}
try{
List<UserEntity> myInviting = userService.getMyInviting(request);
Integer activeNum = userService.getActiveNum(request);
HashMap<String, Object> map = Maps.newHashMap();
map.put("allNum",myInviting.size());
map.put("activeNum",activeNum);
map.put("list",myInviting);
resp.setData(map);
resp.setStatus(ComCode.STATUS_CODE_2000);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
}catch (Exception e){
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setError(e.getMessage());
}
return resp;
}
} }
...@@ -109,4 +109,8 @@ public interface UserApiDao { ...@@ -109,4 +109,8 @@ public interface UserApiDao {
// 更新 待升级王者的用户记录表 // 更新 待升级王者的用户记录表
public Integer updateUpgradeUser(UpgradeUserEntity entity); public Integer updateUpgradeUser(UpgradeUserEntity entity);
//获取邀请好友
List<UserEntity> getMyInviting(UserRequest request);
//激活用户数量
public Integer getActiveUserNum(UserRequest request);
} }
...@@ -345,7 +345,7 @@ public class UserApiService { ...@@ -345,7 +345,7 @@ public class UserApiService {
this.merchantFeelJFen(userSubMchId.getSubmchid(),rateEntity); this.merchantFeelJFen(userSubMchId.getSubmchid(),rateEntity);
} }
}else if("".equals(rateEntity.getPayChannel())){ }else if(ComCode.PAYCHANNEL_HL3.equals(rateEntity.getPayChannel())){
} }
} }
...@@ -760,4 +760,15 @@ public class UserApiService { ...@@ -760,4 +760,15 @@ public class UserApiService {
return userDao.updateUpgradeUser(upgradeUserEntity); return userDao.updateUpgradeUser(upgradeUserEntity);
} }
//获取邀请的好友列表
public List<UserEntity> getMyInviting(UserRequest request) {
List<UserEntity> list = userDao.getMyInviting(request);
return userDao.getMyInviting(request);
}
//获取已激活数量
public Integer getActiveNum(UserRequest request){
return userDao.getActiveUserNum(request);
}
} }
...@@ -902,4 +902,27 @@ ...@@ -902,4 +902,27 @@
AND level = #{level} AND level = #{level}
AND order_code = #{orderCode} AND order_code = #{orderCode}
</update> </update>
<select id="getMyInviting" resultType="com.thinkgem.jeesite.modules.user.entity.UserEntity">
SELECT
id,
nickname,
IF(`status`=2,"已激活","未激活") status
FROM
youka_users
WHERE
recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode})
</select>
<select id="getActiveUserNum" resultType="java.lang.Integer">
SELECT
count(id)
FROM
youka_users
WHERE
status = 2
AND
recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode})
</select>
</mapper> </mapper>
\ No newline at end of file
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