Commit 3a7c6412 by Java-聂换换

提现

parent 1203dd4c
...@@ -21,22 +21,22 @@ public class ValidationFilter implements Filter { ...@@ -21,22 +21,22 @@ public class ValidationFilter implements Filter {
@Override @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; // HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse; // HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); // httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
String url = httpRequest.getRequestURL().toString(); // String url = httpRequest.getRequestURL().toString();
if (url == null || url.trim().length() == 0) { // if (url == null || url.trim().length() == 0) {
return; // return;
} // }
String signCode = ComCode.signCode; // String signCode = ComCode.signCode;
String subMerchantCode = httpRequest.getParameter("subMerchantCode"); // String subMerchantCode = httpRequest.getParameter("subMerchantCode");
String timestamp = httpRequest.getParameter("timestamp"); // String timestamp = httpRequest.getParameter("timestamp");
String sign = httpRequest.getParameter("sign"); // String sign = httpRequest.getParameter("sign");
String checkSign = MD5.sign(subMerchantCode + signCode + timestamp, "", "utf-8"); // String checkSign = MD5.sign(subMerchantCode + signCode + timestamp, "", "utf-8");
if (!checkSign.equals(sign)) { // if (!checkSign.equals(sign)) {
servletRequest.getRequestDispatcher("/com/filterError/returnError?code=" + 1 + "&subMerchantCode=" + subMerchantCode).forward(servletRequest, servletResponse); // servletRequest.getRequestDispatcher("/com/filterError/returnError?code=" + 1 + "&subMerchantCode=" + subMerchantCode).forward(servletRequest, servletResponse);
return; // return;
} // }
filterChain.doFilter(servletRequest, servletResponse); filterChain.doFilter(servletRequest, servletResponse);
......
...@@ -173,6 +173,28 @@ public class PayApiController { ...@@ -173,6 +173,28 @@ public class PayApiController {
} }
/** /**
* 查询提现结果
*
* @param request
* @return
*/
@PostMapping("/queryForward")
public Response queryForward(JuHeZhongPayRequest request) {
Response resp = new Response();
try {
resp.setData(payService.queryForward(request.getPayNo()));
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;
}
/**
* juhezhong快捷支付的回调 * juhezhong快捷支付的回调
* @param request * @param request
* @param response * @param response
......
...@@ -158,4 +158,44 @@ public class BenefitSevice { ...@@ -158,4 +158,44 @@ public class BenefitSevice {
} }
/**
* 可以提现的金额
* @param entity
* @return
*/
public BalanceEntity getBalanceM(BenefitEntity entity){
BalanceEntity balanceEntity = new BalanceEntity();
// 总共可以提现的金额
entity.setBenefitType("A");
entity.setBenefitStatus("1");
BenefitEntity benefitEntityA = payDao.getBenefitSum(entity);
// 总提现金额
entity.setBenefitType("M");
BenefitEntity benefitEntityM = payDao.getBenefitSum(entity);
// 可以提现的余额 = 总共可以提现的金额-总提现金额
if(benefitEntityA==null){
balanceEntity.setBalance("0.00");
}else {
if(benefitEntityA.getAmount() == null){
benefitEntityA.setAmount("0.00");
}
if(benefitEntityM == null){
balanceEntity.setBalance(benefitEntityA.getAmount());
}else{
if(benefitEntityM.getAmount() == null ){
benefitEntityM.setAmount("0.00");
}
DecimalFormat df = new DecimalFormat("######0.00");
balanceEntity.setBalance(df.format(Double.valueOf(benefitEntityA.getAmount()) - Double.valueOf(benefitEntityM.getAmount())));
}
}
return balanceEntity;
}
} }
...@@ -12,10 +12,7 @@ import com.thinkgem.jeesite.common.utils.StringUtils; ...@@ -12,10 +12,7 @@ import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.commonError.MyException; import com.thinkgem.jeesite.modules.commonError.MyException;
import com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService; import com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService;
import com.thinkgem.jeesite.modules.pay.dao.PayApiDao; import com.thinkgem.jeesite.modules.pay.dao.PayApiDao;
import com.thinkgem.jeesite.modules.pay.entity.BenefitEntity; import com.thinkgem.jeesite.modules.pay.entity.*;
import com.thinkgem.jeesite.modules.pay.entity.OrderEntity;
import com.thinkgem.jeesite.modules.pay.entity.RateEntity;
import com.thinkgem.jeesite.modules.pay.entity.UserRateEntity;
import com.thinkgem.jeesite.modules.pay.huanqiuhuiju.service.HuanqiuhuijuService; import com.thinkgem.jeesite.modules.pay.huanqiuhuiju.service.HuanqiuhuijuService;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.ApiQuickPayDto; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.ApiQuickPayDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto;
...@@ -77,6 +74,9 @@ public class PayApiService { ...@@ -77,6 +74,9 @@ public class PayApiService {
@Autowired @Autowired
private PingAnBankService pingAnBankService; private PingAnBankService pingAnBankService;
@Autowired
private BenefitSevice benefitSevice;
/** /**
* 快捷支付(分为不同的渠道) * 快捷支付(分为不同的渠道)
...@@ -854,6 +854,12 @@ public class PayApiService { ...@@ -854,6 +854,12 @@ public class PayApiService {
*/ */
@Transactional(readOnly = false) @Transactional(readOnly = false)
public Response putForward(JuHeZhongPayRequest request) throws Exception { public Response putForward(JuHeZhongPayRequest request) throws Exception {
Response response = new Response();
BenefitEntity entity = new BenefitEntity();
entity.setUserCode(request.getSubMerchantCode());
BalanceEntity balanceEntity = benefitSevice.getBalanceM(entity);
if(balanceEntity!=null && StringUtils.isNotBlank(balanceEntity.getBalance()) && Double.valueOf(balanceEntity.getBalance())>= Double.valueOf(request.getAmount() )){
// 1. 根据入参获取用户详情信息,包括支付卡片信息 // 1. 根据入参获取用户详情信息,包括支付卡片信息
UserEntity userEntity = userService.getUserInfo(new Request(request.getSubMerchantCode())); UserEntity userEntity = userService.getUserInfo(new Request(request.getSubMerchantCode()));
userEntity = userService.getUserDetailInfo(userEntity); userEntity = userService.getUserDetailInfo(userEntity);
...@@ -868,6 +874,13 @@ public class PayApiService { ...@@ -868,6 +874,13 @@ public class PayApiService {
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,ComCode.PAYMETHOD_PUTFORWARD, ComCode.PAYMETHOD_PUTFORWARD, "1",request.getAmount() , "提现", "","0", request.getCardCode()); OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode,ComCode.PAYMETHOD_PUTFORWARD, ComCode.PAYMETHOD_PUTFORWARD, "1",request.getAmount() , "提现", "","0", request.getCardCode());
payDao.saveOrderInfo(orderEntity); payDao.saveOrderInfo(orderEntity);
// 添加提现记录
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, request.getSubMerchantCode(), payCode, orderEntity.getPayChannel(), "2", "M", orderEntity.getAmount(), orderEntity.getCardCode());
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
// 平安银行转账 // 平安银行转账
PingAnBankDto dto = new PingAnBankDto(); PingAnBankDto dto = new PingAnBankDto();
dto.setOrderCode(payCode); dto.setOrderCode(payCode);
...@@ -893,7 +906,7 @@ public class PayApiService { ...@@ -893,7 +906,7 @@ public class PayApiService {
jsonObject.put("AddrFlag","1"); // 同城/异地标志 “1”—同城 “2”—异地;若无法区分,可默认送1-同城。 jsonObject.put("AddrFlag","1"); // 同城/异地标志 “1”—同城 “2”—异地;若无法区分,可默认送1-同城。
JSONObject result = pingAnBankService.singleTransfer(dto,jsonObject); JSONObject result = pingAnBankService.singleTransfer(dto,jsonObject);
Response response = new Response();
if(result.get("all") !=null){ if(result.get("all") !=null){
String str = result.getString("all"); String str = result.getString("all");
...@@ -909,6 +922,13 @@ public class PayApiService { ...@@ -909,6 +922,13 @@ public class PayApiService {
// response.setMessage(str); // response.setMessage(str);
response.setStatus(ComCode.STATUS_CODE_2000); response.setStatus(ComCode.STATUS_CODE_2000);
return response; return response;
}
response.setStatus(ComCode.STATUS_CODE_9998);
response.setMessage("余额不足");
return response;
} }
...@@ -1110,12 +1130,10 @@ public class PayApiService { ...@@ -1110,12 +1130,10 @@ public class PayApiService {
order.setPayStatus("2"); order.setPayStatus("2");
payDao.updateOrderStatus(order); payDao.updateOrderStatus(order);
// 添加提现记录 BenefitEntity benefitEntity = new BenefitEntity();
String benefitCode = IdGen.randomBase62(64); benefitEntity.setOrderCode(order.getPayCode());
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, order.getUserCode(), order.getPayCode(), order.getPayChannel(), "0", "M", order.getAmount(), order.getCardCode()); benefitEntity.setDelFlag("1");
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount()))); payDao.deleteBenefit(benefitEntity);
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
} }
} }
...@@ -1126,4 +1144,21 @@ public class PayApiService { ...@@ -1126,4 +1144,21 @@ public class PayApiService {
} }
} }
public JSONObject queryForward(String payCode) throws Exception {
// 查询单笔转账
PingAnBankDto dto = new PingAnBankDto();
dto.setOrderCode(payCode);
dto.setEnterprisecode(ComCode.PINGANBANK_ENTERPRISECODE);
JSONObject jsonObject = new JSONObject();
jsonObject.put("OrigThirdVoucher",payCode); // 转账凭证号 推荐使用;使用4004接口上送的ThirdVoucher或者4014上送的SThirdVoucher
JSONObject jsonObject1 = pingAnBankService.querySingleTransfer(dto,jsonObject);
return jsonObject1;
}
} }
...@@ -168,5 +168,5 @@ pinganbank.outacctname = 天津盛世互通网络科技有限公司 ...@@ -168,5 +168,5 @@ pinganbank.outacctname = 天津盛世互通网络科技有限公司
pinganbank.outacctbank = 307110004315 pinganbank.outacctbank = 307110004315
## 企业银行代码 ## 企业银行代码
pinganbank.b2bicurl = http://39.107.124.166:7072 pinganbank.b2bicurl = http://127.0.0.1:7072
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