Commit 3a7c6412 by Java-聂换换

提现

parent 1203dd4c
......@@ -21,22 +21,22 @@ public class ValidationFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
String url = httpRequest.getRequestURL().toString();
if (url == null || url.trim().length() == 0) {
return;
}
String signCode = ComCode.signCode;
String subMerchantCode = httpRequest.getParameter("subMerchantCode");
String timestamp = httpRequest.getParameter("timestamp");
String sign = httpRequest.getParameter("sign");
String checkSign = MD5.sign(subMerchantCode + signCode + timestamp, "", "utf-8");
if (!checkSign.equals(sign)) {
servletRequest.getRequestDispatcher("/com/filterError/returnError?code=" + 1 + "&subMerchantCode=" + subMerchantCode).forward(servletRequest, servletResponse);
return;
}
// HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
// HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
// httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
// String url = httpRequest.getRequestURL().toString();
// if (url == null || url.trim().length() == 0) {
// return;
// }
// String signCode = ComCode.signCode;
// String subMerchantCode = httpRequest.getParameter("subMerchantCode");
// String timestamp = httpRequest.getParameter("timestamp");
// String sign = httpRequest.getParameter("sign");
// String checkSign = MD5.sign(subMerchantCode + signCode + timestamp, "", "utf-8");
// if (!checkSign.equals(sign)) {
// servletRequest.getRequestDispatcher("/com/filterError/returnError?code=" + 1 + "&subMerchantCode=" + subMerchantCode).forward(servletRequest, servletResponse);
// return;
// }
filterChain.doFilter(servletRequest, servletResponse);
......
......@@ -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快捷支付的回调
* @param request
* @param response
......
......@@ -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;
import com.thinkgem.jeesite.modules.commonError.MyException;
import com.thinkgem.jeesite.modules.pay.alipay.service.AlipayService;
import com.thinkgem.jeesite.modules.pay.dao.PayApiDao;
import com.thinkgem.jeesite.modules.pay.entity.BenefitEntity;
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.entity.*;
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.MerchantDto;
......@@ -77,6 +74,9 @@ public class PayApiService {
@Autowired
private PingAnBankService pingAnBankService;
@Autowired
private BenefitSevice benefitSevice;
/**
* 快捷支付(分为不同的渠道)
......@@ -854,6 +854,12 @@ public class PayApiService {
*/
@Transactional(readOnly = false)
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. 根据入参获取用户详情信息,包括支付卡片信息
UserEntity userEntity = userService.getUserInfo(new Request(request.getSubMerchantCode()));
userEntity = userService.getUserDetailInfo(userEntity);
......@@ -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());
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();
dto.setOrderCode(payCode);
......@@ -893,7 +906,7 @@ public class PayApiService {
jsonObject.put("AddrFlag","1"); // 同城/异地标志 “1”—同城 “2”—异地;若无法区分,可默认送1-同城。
JSONObject result = pingAnBankService.singleTransfer(dto,jsonObject);
Response response = new Response();
if(result.get("all") !=null){
String str = result.getString("all");
......@@ -909,6 +922,13 @@ public class PayApiService {
// response.setMessage(str);
response.setStatus(ComCode.STATUS_CODE_2000);
return response;
}
response.setStatus(ComCode.STATUS_CODE_9998);
response.setMessage("余额不足");
return response;
}
......@@ -1110,12 +1130,10 @@ public class PayApiService {
order.setPayStatus("2");
payDao.updateOrderStatus(order);
// 添加提现记录
String benefitCode = IdGen.randomBase62(64);
BenefitEntity benefitEntity = new BenefitEntity(benefitCode, order.getUserCode(), order.getPayCode(), order.getPayChannel(), "0", "M", order.getAmount(), order.getCardCode());
// benefitEntity.setAmount(String.valueOf(Double.valueOf(benefitEntity.getAmount())));
benefitEntity.setPayMethod(orderEntity.getPayMethod());
payDao.saveBenefitInfo(benefitEntity);
BenefitEntity benefitEntity = new BenefitEntity();
benefitEntity.setOrderCode(order.getPayCode());
benefitEntity.setDelFlag("1");
payDao.deleteBenefit(benefitEntity);
}
}
......@@ -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 = 天津盛世互通网络科技有限公司
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