123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- package com.hywa.banktest.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.hywa.banktest.bankframework.utils.StringUtils;
- import com.hywa.banktest.common.*;
- import com.hywa.banktest.entity.CheckBankVO;
- import com.hywa.banktest.entity.GetBankNo;
- import com.hywa.banktest.entity.GetClearText;
- import com.hywa.banktest.entity.TransRequest;
- import com.hywa.banktest.service.CarbonBankService;
- import com.hywa.banktest.service.OrderInfoService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.*;
- import java.util.Calendar;
- @Slf4j
- @RestController
- @RequestMapping(value = "/clearing")
- public class ApplyClearingController {
- @Autowired
- private ValidateSignUtils validateSignUtils;
- @Autowired
- private OrderInfoService orderInfoService;
- @Autowired
- private CarbonBankService carbonBankService;
- @Value("spring.datasource.url")
- private String url;
- @PostMapping(value = "/apply")
- public AjaxJson apply(@RequestBody ApplyClearingForm form){
- log.info("form==============>{}",form);
- if(null!=form && !"".equals(form.getSignStr())){
- // 验证字符串签名
- try {
- if(validateSignUtils.signVerify(form.getRecordId(),form.getSignStr())){
- // 开始打款
- orderInfoService.dealClearingRecordByRid(form.getRecordId(), form.getCompanyType());
- return new AjaxJson(AjaxJson.SUCCESS ,AjaxJson.DEAL_CLEARING_APPLY_SUCCESS);
- }else{
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- } catch (Exception e) {
- log.info("validateSignUtils signVerify is error");
- return new AjaxJson(AjaxJson.FAILURE,"validateSignUtils signVerify is error");
- }
- }
- return new AjaxJson(AjaxJson.FAILURE,"验证字符串参数未传,请检查接口参数");
- }
- @PostMapping("/orApply")
- public AjaxJson applyByOrderId(@RequestBody OrderInfoClearingForm orderInfoClearingForm){
- Calendar cal= Calendar.getInstance();
- int h=cal.get(Calendar.HOUR_OF_DAY);
- if (h>21){
- return new AjaxJson(ResponseEnum.ERROREQUEST);
- }
- log.info("orderInfoForm订单请求划款>>>>>{}", JSONObject.toJSONString(orderInfoClearingForm));
- if (orderInfoClearingForm.getTimeStamp() == null){
- return new AjaxJson(ResponseEnum.REQNUMNULL);
- }
- long time = orderInfoClearingForm.getTimeStamp();
- long timeStamp = getTimeStamp(time);
- if (timeStamp>60000){
- return new AjaxJson(ResponseEnum.ERROREQUEST);
- }
- // 先进行值判断是否为空
- if (StringUtils.isEmpty(orderInfoClearingForm.getOrderId())){
- return new AjaxJson(ResponseEnum.REQNUMNULL);
- }
- if (StringUtils.isEmpty(orderInfoClearingForm.getSignStr())){
- return new AjaxJson(ResponseEnum.REQNUMNULL);
- }
- //组装数据
- boolean flag = false;
- //验证字符串签名
- try {
- flag = validateSignUtils.signVerify(time+"|"+orderInfoClearingForm.getRecordId()+"|"+orderInfoClearingForm.getOrderId(), orderInfoClearingForm.getSignStr());
- } catch (Exception e) {
- return new AjaxJson(ResponseEnum.FAIL);
- }
- if (flag){
- //orderInfoClearingForm.setCompanyType("1");
- int i = orderInfoService.dealClearingRecordByRid(orderInfoClearingForm.getRecordId(),orderInfoClearingForm.getCompanyType() );
- return new AjaxJson(ResponseEnum.SUCCESS);
- }
- return new AjaxJson(ResponseEnum.CHECKFAIL);
- }
- @PostMapping("/check")
- public AjaxJson checkBankNo(@RequestBody CheckBankVO checkBankVO){
- checkBankVO.setCompanyType("1");
- log.info("------请求银行卡验证---{}",JSONObject.toJSONString(checkBankVO));
- if (checkBankVO.getTimeStamp()==null||StringUtils.isEmpty(checkBankVO.getSignStr())){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- long timeStamp = checkBankVO.getTimeStamp();
- long sc = getTimeStamp(timeStamp);
- if (sc>60000){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- String strSign = checkBankVO.getSignStr();
- String farmerPid = checkBankVO.getFarmerPid();
- String farmerAccount = checkBankVO.getFarmerAccount();
- if (StringUtils.isEmpty(farmerAccount)||StringUtils.isEmpty(farmerPid)){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- boolean flag = false;
- try {
- flag = validateSignUtils.signVerify(timeStamp + "|" + farmerPid + "|" + farmerAccount, strSign);
- } catch (Exception e) {
- log.info("------系统异常---{}",JSONObject.toJSONString(checkBankVO));
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- if (flag){
- return carbonBankService.checkBankCard(checkBankVO);
- }
- return new AjaxJson(ResponseEnum.CHECKFAIL);
- }
- @PostMapping("/bankNum")
- public AjaxJson getBankNum(@RequestBody GetBankNo getBankNo){
- log.info("------请求银行卡余额数量---{}",JSONObject.toJSONString(getBankNo));
- if (getBankNo==null||StringUtils.isEmpty(getBankNo.getSignStr())){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- long timeStamp = getBankNo.getTimeStamp();
- long sc = getTimeStamp(timeStamp);
- if (sc>60000){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- String strSign = getBankNo.getSignStr();
- boolean flag = false;
- try {
- flag = validateSignUtils.signVerify(timeStamp + "|gzth$12345", strSign);
- } catch (Exception e) {
- log.info("------系统异常---{}",JSONObject.toJSONString(getBankNo));
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- if (flag){
- return carbonBankService.findCardNumMoney(getBankNo);
- }
- return new AjaxJson(ResponseEnum.CHECKFAIL);
- }
- /**
- * 获取清分的文件详情
- * @param getBankNo
- * @return
- */
- @PostMapping("/clearText")
- public AjaxJson getClearText(@RequestBody GetClearText getBankNo){
- log.info("------请求银行卡余额数量---{}",JSONObject.toJSONString(getBankNo));
- if (getBankNo==null||StringUtils.isEmpty(getBankNo.getSignStr())){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- long timeStamp = getBankNo.getTimeStamp();
- long sc = getTimeStamp(timeStamp);
- if (sc>60000){
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- String strSign = getBankNo.getSignStr();
- boolean flag = false;
- try {
- flag = validateSignUtils.signVerify(timeStamp + "|gzth$12345|"+getBankNo.getClearId(), strSign);
- } catch (Exception e) {
- log.info("------系统异常---{}",JSONObject.toJSONString(getBankNo));
- return new AjaxJson(AjaxJson.FAILURE,AjaxJson.MSGFAILURE);
- }
- if (flag){
- return carbonBankService.getClearText(getBankNo);
- }
- return new AjaxJson(ResponseEnum.CHECKFAIL);
- }
- public long getTimeStamp(long timeStamp){
- long endTime = System.currentTimeMillis();
- long sc = endTime - timeStamp;
- return sc;
- }
- public AjaxJson getApp(@RequestBody TransRequest transRequest) {
- // 先进行值判断是否为空
- if (StringUtils.isEmpty(transRequest.getRecord())){
- return new AjaxJson(AjaxJson.FAILURE ,AjaxJson.MSGFAILURE);
- }
- if (StringUtils.isEmpty(transRequest.getSignStr())){
- return new AjaxJson(AjaxJson.FAILURE ,AjaxJson.MSGFAILURE);
- }
- //组装数据
- boolean flag = false;
- //验证字符串签名
- try {
- flag = validateSignUtils.signVerify(transRequest.getRecord()+"|"+transRequest.getTransVos().size(), transRequest.getSignStr());
- } catch (Exception e) {
- return new AjaxJson(ResponseEnum.FAIL);
- }
- if (flag){
- return new AjaxJson(AjaxJson.SUCCESS ,AjaxJson.DEAL_CLEARING_APPLY_SUCCESS);
- }
- return new AjaxJson(AjaxJson.FAILURE ,AjaxJson.MSGFAILURE);
- }
- @GetMapping("/checkService")
- public AjaxJson checkService(){
- return new AjaxJson("连接服务正常");
- }
- }
|