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";
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_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"; // 附加手续费(单位:分)
......
package com.thinkgem.jeesite.modules.pay.api;
import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.baseBean.Response;
import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.commonError.MyException;
import com.thinkgem.jeesite.modules.pay.entity.BalanceEntity;
import com.thinkgem.jeesite.modules.pay.entity.OrderEntity;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.PayBackDto;
import com.thinkgem.jeesite.modules.pay.service.PayApiService;
......@@ -12,13 +13,12 @@ import com.thinkgem.jeesite.modules.sys.entity.DictPayChannel;
import com.thinkgem.jeesite.modules.sys.service.DictService;
import com.thinkgem.jeesite.modules.user.bean.JuHeZhongPayRequest;
import com.thinkgem.jeesite.modules.user.bean.UserRequest;
import com.thinkgem.jeesite.modules.user.entity.BelongBankEntity;
import com.thinkgem.jeesite.modules.user.entity.CardEntity;
import com.thinkgem.jeesite.modules.user.entity.CardSwpaccidEntity;
import com.thinkgem.jeesite.modules.user.entity.UserEntity;
import com.thinkgem.jeesite.modules.user.service.UserApiService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -204,23 +204,92 @@ public class PayApiController {
System.out.println("。。。。。。回调。。。。。");
Response responseRetrun = new Response();
Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr = keSet.iterator(); itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey(); //获取参数名
Object ov=me.getValue(); //获取参数值
System.out.println(ok+"="+ok.toString());
System.out.println(ov+"="+ov.toString());
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
printNotifyParam(map);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String orderId=request.getParameter("orderId");
String code = request.getParameter("code");
if("0000".equals(code)){
System.out.println("orderId:"+orderId);
OrderEntity orderEntity = new OrderEntity();
orderEntity.setPayCode(orderId);
try {
orderEntity = payService.notifyPay(orderEntity);
} catch (Exception e) {
e.printStackTrace();
}
for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
//返回true 收到请求,停止通知
PrintWriter write= null;
try {
write = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
write.print("true");
responseRetrun.setMessage("ok");
responseRetrun.setStatus(ComCode.STATUS_CODE_9998);
responseRetrun.setData(orderEntity);
write.flush();
write.close();
}
}
/**
* juhezhongHL4快捷支付的回调
* @param request
* @param response
*/
@RequestMapping("/notifyQuickPay")
public void notifyQuickPay(HttpServletRequest request, HttpServletResponse response) {
System.out.println("H4通道:quickPay支付回调");
Response responseRetrun = new Response();
Map map=request.getParameterMap();
printNotifyParam(map);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try {
request.setCharacterEncoding("UTF-8");
......@@ -231,7 +300,7 @@ public class PayApiController {
String orderId=request.getParameter("orderId");
String code = request.getParameter("code");
if("0000".equals(code)){
System.out.println("orderId:"+orderId);
System.out.println("quick pay orderId:"+orderId);
OrderEntity orderEntity = new OrderEntity();
orderEntity.setPayCode(orderId);
......@@ -271,23 +340,24 @@ public class PayApiController {
System.out.println("。。。。。。回调。。。。。");
Response responseRetrun = new Response();
Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr = keSet.iterator(); itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey(); //获取参数名
Object ov=me.getValue(); //获取参数值
System.out.println(ok+"="+ok.toString());
System.out.println(ov+"="+ov.toString());
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}
for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
}
}
printNotifyParam(map);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try {
request.setCharacterEncoding("UTF-8");
......@@ -338,23 +408,24 @@ public class PayApiController {
public void openCardCallback(HttpServletRequest request, HttpServletResponse response) {
System.out.println("。。。。。。openCardCallback回调。。。。。");
Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr = keSet.iterator(); itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey(); //获取参数名
Object ov=me.getValue(); //获取参数值
System.out.println(ok+"="+ok.toString());
System.out.println(ov+"="+ov.toString());
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}
for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
}
}
printNotifyParam(map);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try {
request.setCharacterEncoding("UTF-8");
......@@ -406,23 +477,24 @@ public class PayApiController {
System.out.println("。。。。。。支付宝回调。。。。。");
Response responseRetrun = new Response();
Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr = keSet.iterator(); itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey(); //获取参数名
Object ov=me.getValue(); //获取参数值
System.out.println(ok+"="+ok.toString());
System.out.println(ov+"="+ov.toString());
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}
for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
}
}
printNotifyParam(map);
// Set keSet=map.entrySet();
// for(Iterator itr = keSet.iterator(); itr.hasNext();){
// Map.Entry me=(Map.Entry)itr.next();
// Object ok=me.getKey(); //获取参数名
// Object ov=me.getValue(); //获取参数值
// System.out.println(ok+"="+ok.toString());
// System.out.println(ov+"="+ov.toString());
// String[] value=new String[1];
// if(ov instanceof String[]){
// value=(String[])ov;
// }else{
// value[0]=ov.toString();
// }
// for(int k=0;k <value.length;k++){
// System.out.println(ok+"="+value[k]);
// }
// }
//设置编码
try {
request.setCharacterEncoding("UTF-8");
......@@ -466,6 +538,31 @@ public class PayApiController {
}
/**
* 打印支付回调信息
* @param map
*/
private void printNotifyParam(Map map){
Set keSet = map.entrySet();
for(Iterator itr = keSet.iterator(); itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey(); //获取参数名
Object ov=me.getValue(); //获取参数值
System.out.println(ok+"="+ok.toString());
System.out.println(ov+"="+ov.toString());
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}
for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
}
}
}
/**
* 获取支付的结果
* @param orderEntity
......@@ -537,4 +634,27 @@ public class PayApiController {
return response;
}
/**
* 获取可提现额度
* @param request
* @return
*/
@PostMapping("/putForwardNum")
public Response getPutForwardNum(JuHeZhongPayRequest request) {
Response resp = new Response();
try {
BalanceEntity balance = payService.getPutForwardNum(request);
String balanceNum = balance.getBalance();
resp.setData(balanceNum);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
resp.setStatus(ComCode.STATUS_CODE_2000);
}catch (Exception e){
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setError(e.getMessage());
}
return resp;
}
}
......@@ -133,34 +133,34 @@ public class JuHeZhongPayJFenService {
public static void main(String[] args) throws Exception {
JuHeZhongPayJFenService juHeZhongPayJFenService = new JuHeZhongPayJFenService();
JSONObject dto = new JSONObject();
dto.put("orderId", MakeOrderNum.makeOrderNum());
// subMchId = B105244442
// 商户入驻
// JSONObject dto = new JSONObject();
// 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("serviceType",1);
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());
juHeZhongPayJFenService.merchantIn(dto);
// dto.put("accountName","唐挺");
// dto.put("accountNo","6217000066011457475");
// 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.merchantIn(dto);
// System.out.println(jsonObject);
// dto.put("subMchId","B105247024");
// dto.put("paymentType","QUICKPAY");
......@@ -179,10 +179,49 @@ public class JuHeZhongPayJFenService {
// dto.put("accountName","李波");
// dto.put("accountNo","6225571645517950");
// 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("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回调。。。。。
swpaccid=swpaccid
......@@ -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
*/
// System.out.println(dto.toJSONString());
// juHeZhongPayJFenService.openCard(dto);
// JSONObject json = juHeZhongPayJFenService.openCard(dto);
// System.out.println(json);
// dto.put("orderId",MakeOrderNum.makeOrderNum());
......@@ -236,7 +275,7 @@ public class JuHeZhongPayJFenService {
// dto.put("mobile","13821934497");
// 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");
// juHeZhongPayJFenService.openCard(dto);
// trade_no 20180413135023288124
......
......@@ -2,15 +2,18 @@ package com.thinkgem.jeesite.modules.pay.juhezhong.service;
import com.alibaba.fastjson.JSONObject;
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.modules.pay.juhezhong.dto.*;
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.MakeOrderNum;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.SignUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Map;
/**
......@@ -139,8 +142,27 @@ public JSONObject quickWebPay ( JuhezhongDto dto ) throws Exception {
String respStr = HttpUtil.post(ComCode.HOST + ComCode.NO_INTEGRAL_QUICK_PAY_URL, params);
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 {
}
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 ( );
a.setOrderId ( "Dy58WqJG3MmNpSpQMq3wKZV55OiO48asPzRp4YUBBZUsVEiow7q6CZTQqwrBTl4k" );
a.setOrderId ( "20180606105801173000" );
a.setMerchantId ( ComCode.MERCHANT_ID );
a.setMerchantKey ( ComCode.MERCHANT_KEY );
a.setTimestamp ( System.currentTimeMillis ( ) );
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 {
......
......@@ -14,8 +14,7 @@ import com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService;
import com.thinkgem.jeesite.modules.pay.dao.PayApiDao;
import com.thinkgem.jeesite.modules.pay.entity.*;
import com.thinkgem.jeesite.modules.pay.huanqiuhuiju.service.HuanqiuhuijuService;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.PayBackDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.QuickDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.*;
import com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayIntegralService;
import com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayJFenService;
import com.thinkgem.jeesite.modules.pay.juhezhong.service.JuHeZhongPayService;
......@@ -23,6 +22,7 @@ import com.thinkgem.jeesite.modules.pay.juhezhong.utils.MakeOrderNum;
import com.thinkgem.jeesite.modules.pay.pinganbank.PingAnBankService;
import com.thinkgem.jeesite.modules.pay.pinganbank.dto.PingAnBankDto;
import com.thinkgem.jeesite.modules.sys.entity.Dict;
import com.thinkgem.jeesite.modules.sys.service.SystemService;
import com.thinkgem.jeesite.modules.sys.utils.DictUtils;
import com.thinkgem.jeesite.modules.user.bean.JuHeZhongPayRequest;
import com.thinkgem.jeesite.modules.user.bean.UserRequest;
......@@ -30,15 +30,16 @@ import com.thinkgem.jeesite.modules.user.entity.*;
import com.thinkgem.jeesite.modules.user.service.UserApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 支付相关
......@@ -88,7 +89,6 @@ public class PayApiService {
payBackDto.setIsUrl("0");
return payBackDto;
}
// 1. 根据入参获取用户详情信息,包括支付卡片信息
UserEntity userEntity = userService.getUserInfo(new Request(request.getSubMerchantCode()));
userEntity = userService.getUserDetailInfo(userEntity);
......@@ -107,32 +107,34 @@ public class PayApiService {
PayBackDto payBackDto = new PayBackDto();
if(ComCode.PAYCHANNEL_HL1.equals(request.getPayChannel())){
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,"quick", request.getPayChannel(), "1",amount , request.getSubject(), "", String.valueOf("D".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 5 : ("C".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 6 : 0)), request.getCardCode());
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
addUserBenefits(userEntity,orderEntity,code,request);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity cardEntityPay = userService.getCardInfo(request);
payBackDto = quickPayJuHeZhongPay(userEntity, orderEntity, request,cardEntityPay);
payBackDto = this.payJuhezhong(request, userEntity, orderEntity,cardEntityPay);
}else if(ComCode.PAYCHANNEL_HL3.equals(request.getPayChannel())){
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,"quick", request.getPayChannel(), "1",amount , request.getSubject(), "", String.valueOf("D".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 5 : ("C".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 6 : 0)), request.getCardCode());
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
addUserBenefits(userEntity,orderEntity,code,request);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity cardEntityPay = userService.getCardInfo(request);
......@@ -146,16 +148,17 @@ public class PayApiService {
}else if(ComCode.PAYCHANNEL_HUANQIUHUIJU.equals(request.getPayChannel())){
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,"quick", request.getPayChannel(), "1",amount , request.getSubject(), "", String.valueOf("D".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 5 : ("C".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 6 : 0)), request.getCardCode());
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
addUserBenefits(userEntity,orderEntity,code,request);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity cardEntityPay = userService.getCardInfo(request);
......@@ -163,16 +166,17 @@ public class PayApiService {
payBackDto = this.huanqiuhujuPay(userEntity, orderEntity, request,cardEntityPay);
}else {
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,"quick", ComCode.PAYCHANNEL_HL3, "1",amount , request.getSubject(), "", String.valueOf("D".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 5 : ("C".equalsIgnoreCase(userEntity.getUserDetail().getCard().getCardType()) ? 6 : 0)), request.getCardCode());
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
addUserBenefits(userEntity,orderEntity,code,request);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
// 获取支付卡号
CardEntity cardEntityPay = userService.getCardInfo(request);
......@@ -190,6 +194,25 @@ public class PayApiService {
}
/**
* 共用的分润信息
* @param userEntity
* @param orderEntity
* @param code
* @param request
*/
private void addUserBenefits(UserEntity userEntity, OrderEntity orderEntity, String code ,JuHeZhongPayRequest request){
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
}
/*
* 以下为类内使用方法
......@@ -568,7 +591,6 @@ public class PayApiService {
userSubMchId = userService.getUserSubmchid(userSubMchId);
UserEntity userEntity = userService.getUserInfo(request);
UserDetailEntity userDetailEntity = userService.getUserDetailByCode(request.getSubMerchantCode());
userDetailEntity.setCard ( cardEntity );
userEntity.setUserDetail(userDetailEntity);
// 2. 创建支付订单信息,并保存
......@@ -577,21 +599,20 @@ public class PayApiService {
String payCode = IdGen.randomBase62(64);
DecimalFormat df = new DecimalFormat("######0.00");
String amount = df.format(Double.valueOf(request.getAmount()));
OrderEntity orderEntity = new OrderEntity ( code , request.getSubMerchantCode ( ) , payNo , payCode , "quick" , request.getPayChannel ( ) , "1" , amount ,
request.getSubject ( ) , "" ,
String.valueOf ( "D".equalsIgnoreCase ( userDetailEntity.getCard ( ).getCardType ( ) ) ? 5 : ( "C".equalsIgnoreCase ( userDetailEntity.getCard ( ).getCardType ( ) ) ? 6 : 0 ) ) ,
request.getCardCode ( ) );
payDao.saveOrderInfo(orderEntity);
// 3. 创建分润信息,并保存
Map<String, String> userBenefits = getUserBenefit(userEntity, request);
for (String key : userBenefits.keySet()) {
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
}
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,"quick", request.getPayChannel(), "1",amount , request.getSubject(), "", String.valueOf("D".equalsIgnoreCase(userDetailEntity.getCard().getCardType()) ? 5 : ("C".equalsIgnoreCase(userDetailEntity.getCard().getCardType()) ? 6 : 0)), request.getCardCode());
//3. 分润信息
addUserBenefits(userEntity,orderEntity,code,request);
// payDao.saveOrderInfo(orderEntity);
// // 3. 创建分润信息,并保存
// Map<String, String> userBenefits = getUserBenefit(userEntity, request);
// for (String key : userBenefits.keySet()) {
// String benefitCode = IdGen.randomBase62(64);
// BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), code, request.getPayChannel(), "0", "A", userBenefits.get(key), "");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
// benefitEntity.setPayMethod(orderEntity.getPayMethod());
// payDao.saveBenefitInfo(benefitEntity);
// }
Response response = new Response();
JSONObject dto = new JSONObject();
......@@ -610,8 +631,7 @@ public class PayApiService {
dto.put("swpaccid",cardEntity.getSwpaccid());
dto.put("notifyUrl",Global.getConfig("project.access.url")+"/api/pay/openCardCallback");
try {
//调用验证码
JSONObject jsonObject = juHeZhongPayIntegralService.quickPayHandle ( dto );
JSONObject jsonObject = juHeZhongPayJFenService.openCard(dto);
if("0000".equals(jsonObject.get("code"))){
orderEntity.setTradeNo(jsonObject.getString("trade_no"));
payDao.updateOrderTradeNo(orderEntity);
......@@ -648,54 +668,8 @@ public class PayApiService {
// 如果没有注册 则先注册
if(userSubMchId == null){
throw new MyException("未开卡,请先开卡");
// UserEntity userEntity = userService.getUserInfo(request);
// UserDetailEntity userDetailEntity = userService.getUserDetailByCode(request.getSubMerchantCode());
// CardEntity cardEntityDebit = userService.getCardInfoByCode(userEntity);
// JSONObject dto = new JSONObject();
//
// String orderId = MakeOrderNum.makeOrderNum();
//
// dto.put("orderId", MakeOrderNum.makeOrderNum());
//
// dto.put("serviceType",1);
// dto.put("subMerchantName",userDetailEntity.getRealName()+orderId);
// dto.put("subMerchantType","PERSON");
// dto.put("businessLicense",userDetailEntity.getRealName()+orderId);
// dto.put("legalPersonName",userDetailEntity.getRealName());
// dto.put("legalPersonID",userDetailEntity.getIdCard());
// dto.put("subMerchantPersonName",userDetailEntity.getRealName());
// dto.put("subMerchantPersonPhone",userEntity.getMobile());
// dto.put("bankType","TOPRIVATE");
//
// dto.put("accountName",userDetailEntity.getRealName());
// dto.put("accountNo",cardEntityDebit.getCardNo());
// dto.put("bankName",cardEntityDebit.getBankName());
// dto.put("bankProv",cardEntityDebit.getProvince());
// dto.put("bankCity",cardEntityDebit.getCity());
// dto.put("bankBranch",cardEntityDebit.getCardPlace());
// dto.put("bankCode",cardEntityDebit.getBelongBank());
//
// dto.put("timestamp",System.currentTimeMillis());
//
// JSONObject jsonObject = null;
// try {
// jsonObject = juHeZhongPayJFenService.merchantIn(dto);
// } catch (Exception e) {
//
// }
// if (!"0000".equals(jsonObject.getString("code"))) {
// new MyException(jsonObject.getString("msg"));
// }
// String subMchId = jsonObject.getString("subMchId");
// userSubMchId = new UserSubMchId();
// userSubMchId.setUserCode(request.getSubMerchantCode());
// userSubMchId.setPayChannel(ComCode.PAYCHANNEL_HL2);
// userSubMchId.setSubmchid(subMchId);
// userService.addUserSubmchid(userSubMchId);
}
// if(){
//
// }
OrderEntity orderEntity = this.getOrder(request.getPayNo());
PayBackDto payBackDto = new PayBackDto();
......@@ -717,18 +691,64 @@ public class PayApiService {
JSONObject jsonObject = juHeZhongPayJFenService.openCard(dto);
this.notifyPay(orderEntity);
payBackDto.setMessage(jsonObject.getString("msg"));
if("0000".equals(jsonObject.get("code"))){
payBackDto.setMessage(jsonObject.getString("msg"));
return payBackDto;
}else{
payBackDto.setMessage(jsonObject.getString("msg"));
throw new MyException(jsonObject.getString("msg"));
}
}
// HL4 通道
@Transactional(readOnly = false)
public PayBackDto payJuhezhong (JuHeZhongPayRequest request,UserEntity userEntity,OrderEntity orderEntity,CardEntity cardEntity) throws Exception {
//通过用户code获取user_detail表中数据
UserDetailEntity userDetail = userService.getUserDetailByCode(userEntity.getCode());
PayBackDto payBackDto = new PayBackDto();
payBackDto.setIsUrl("0");
//获取结算卡信息
CardEntity cardEntityDebit = userService.getCardInfoByCode(userEntity);
JuhezhongDto dto = new JuhezhongDto();
dto.setOrderId(MakeOrderNum.makeOrderNum());//非订单号
dto.setMerchantId(ComCode.MERCHANT_ID);//商户号
dto.setMerchantKey(ComCode.MERCHANT_KEY);
dto.setAmount(Integer.valueOf(orderEntity.getAmount())*100);//订单金额,单位为分
dto.setTrxType(3);//交易类型,默认传3
dto.setType(cardEntity.getCardType().equals("D")?6:5);//5 借记卡 只能 D0 6 贷记卡 D0 t1 ,表中 银行卡类型 D储蓄卡 C信用卡'
dto.setBankNo(cardEntity.getCardNo());//支付卡号
dto.setCvn2(request.getCvn2());//安全码
dto.setPhone(cardEntity.getCardMobile());//支付卡预留手机号
dto.setExpired(request.getExpireDate());//信用卡有效期(MMYY)
dto.setUserFee(Integer.valueOf(ComCode.EXTRA_RATE));//手续费 单位:分 ,D0 业务必传,商家约定
if(cardEntity.getCardType().equals("D")){
if(cardEntityDebit == null){
throw new MyException("还没有结算卡!");
}
dto.setSettleBankName(cardEntityDebit.getBankName());//结算银行 D0 业务必传
dto.setSettleBankNo(cardEntityDebit.getCardNo());//一个身份证只能对应一个结算卡 D0 业务必传
dto.setSettleBankPhone(cardEntityDebit.getCardMobile());//结算卡预留手机号 D0 业务必传
dto.setName(userDetail.getRealName());//开户名 D0 业务必传
dto.setCertificateCode(userDetail.getIdCard());//开户人身份证号 D0 业务必传
}
dto.setNotifyUrl(ComCode.NOTIFY_CALLBACK_URL);//通知url
dto.setFrontUrl(ComCode.NOTIFY_CALLBACK_URL);//前台地址url(保留)
dto.setTimestamp(System.currentTimeMillis());
JSONObject jsonObject = juHeZhongPayService.quickPay(dto);
this.notifyPay(orderEntity);
payBackDto.setMessage(jsonObject.getString("msg"));
if("0000".equals(jsonObject.get("code"))){
return payBackDto;
}else{
throw new MyException(jsonObject.getString("msg"));
}
}
/**
* huanqiuhuiju 快捷支付
* @param request
......@@ -776,12 +796,7 @@ public class PayApiService {
this.notifyPay(orderEntity);
return payBackDto;
}else{
orderEntity.setPayStatus("4");
payDao.updateOrderStatus(orderEntity);
BenefitEntity benefitEntity = new BenefitEntity();
benefitEntity.setOrderCode(orderEntity.getPayCode());
benefitEntity.setDelFlag("1");
payDao.deleteBenefit(benefitEntity);
orderFail(orderEntity);
throw new MyException(jsonObject.getString("errtext"));
}
......@@ -959,7 +974,7 @@ public class PayApiService {
}else if(ComCode.PAYCHANNEL_HL2.equals(orderEntity.getPayChannel())){
dto.setMerchantId(ComCode.JFEN_MERCHANT_ID);
dto.setMerchantKey(ComCode.JFEN_MERCHANT_KEY);
jsonObject = juHeZhongPayService.query(dto);
jsonObject = juHeZhongPayJFenService.query(dto);
}else if(ComCode.PAYCHANNEL_HUANQIUHUIJU.equals(orderEntity.getPayChannel())){
orderEntity.setPayStatus("2");
payDao.updateOrderStatus(orderEntity);
......@@ -973,22 +988,14 @@ public class PayApiService {
orderEntity.setPayStatus("2");
payDao.updateOrderStatus(orderEntity);
// BenefitEntity benefitEntity = new BenefitEntity();
// benefitEntity.setOrderCode(orderEntity.getPayCode());
// benefitEntity.setBenefitStatus("1");
// payDao.updateBenefit(benefitEntity);
}else{ // 支付失败
orderEntity.setPayStatus("4");
payDao.updateOrderStatus(orderEntity);
BenefitEntity benefitEntity = new BenefitEntity();
benefitEntity.setOrderCode(orderEntity.getPayCode());
benefitEntity.setDelFlag("1");
payDao.deleteBenefit(benefitEntity);
orderFail(orderEntity);
}
orderEntity = payDao.getOrder(orderEntity);
return orderEntity;
}
/**
* 回调
* @param orderEntity
......@@ -1107,12 +1114,7 @@ public class PayApiService {
order.setPayStatus("2");
payDao.updateOrderStatus(order);
}else{ // 支付失败
order.setPayStatus("4");
payDao.updateOrderStatus(order);
BenefitEntity benefitEntity = new BenefitEntity();
benefitEntity.setOrderCode(order.getPayCode());
benefitEntity.setDelFlag("1");
payDao.deleteBenefit(benefitEntity);
orderFail(order);
}
}
}else if("put_forward".equals(order.getPayMethod())){ // 提现
......@@ -1162,4 +1164,21 @@ public class PayApiService {
return jsonObject1;
}
public BalanceEntity getPutForwardNum(JuHeZhongPayRequest request){
BenefitEntity entity = new BenefitEntity();
entity.setUserCode(request.getSubMerchantCode());
BalanceEntity balanceEntity = benefitSevice.getBalanceM(entity);
return balanceEntity;
}
private void orderFail(OrderEntity orderEntity){
orderEntity.setPayStatus("4");
payDao.updateOrderStatus(orderEntity);
BenefitEntity benefitEntity = new BenefitEntity();
benefitEntity.setOrderCode(orderEntity.getPayCode());
benefitEntity.setDelFlag("1");
payDao.deleteBenefit(benefitEntity);
}
}
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.constant.ComCode;
import com.thinkgem.jeesite.common.utils.StringUtils;
......@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -609,5 +611,35 @@ public class UserApiController {
// 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 {
// 更新 待升级王者的用户记录表
public Integer updateUpgradeUser(UpgradeUserEntity entity);
//获取邀请好友
List<UserEntity> getMyInviting(UserRequest request);
//激活用户数量
public Integer getActiveUserNum(UserRequest request);
}
......@@ -345,7 +345,7 @@ public class UserApiService {
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 {
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 @@
AND level = #{level}
AND order_code = #{orderCode}
</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>
\ 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