|
@@ -0,0 +1,95 @@
|
|
|
+package com.hcloud.microserver.system.bank.service.impl;
|
|
|
+
|
|
|
+
|
|
|
+import com.hcloud.microserver.commoncore.util.string.StringUtils;
|
|
|
+import com.hcloud.microserver.mbg.mapper.BTransferDetailMapper;
|
|
|
+import com.hcloud.microserver.mbg.mapper.BTransferDetailRequestMapper;
|
|
|
+import com.hcloud.microserver.mbg.mapper.BTransferMapper;
|
|
|
+import com.hcloud.microserver.mbg.modul.BTransferDetail;
|
|
|
+import com.hcloud.microserver.mbg.modul.BTransferDetailExample;
|
|
|
+import com.hcloud.microserver.mbg.modul.BTransferDetailRequest;
|
|
|
+import com.hcloud.microserver.mbg.modul.BTransferDetailRequestExample;
|
|
|
+import com.hcloud.microserver.system.bank.carbon.entity.SingleTransferInstructionQueryEntity;
|
|
|
+import com.hcloud.microserver.system.bank.carbon.form.TransactionOrderStatusQueryForm;
|
|
|
+import com.hcloud.microserver.system.bank.service.BankRallBackCheckService;
|
|
|
+import com.hcloud.microserver.system.bank.service.BankTransferService;
|
|
|
+import com.hcloud.microserver.system.bank.util.BankStringUtils;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class BankRallBackCheckServiceImpl implements BankRallBackCheckService {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BTransferDetailMapper bTransferDetailMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BankTransferService bankTransferService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BTransferDetailRequestMapper requestMapper;
|
|
|
+ @Override
|
|
|
+ public void rollDetail() {
|
|
|
+ BTransferDetailExample example = new BTransferDetailExample();
|
|
|
+
|
|
|
+ BTransferDetailExample.Criteria criteria = example.createCriteria();
|
|
|
+ criteria.andStateEqualTo(1);
|
|
|
+
|
|
|
+ List<BTransferDetail> details = bTransferDetailMapper.selectByExample(example);
|
|
|
+ if (details != null){
|
|
|
+ for (BTransferDetail detail:details){
|
|
|
+ TransactionOrderStatusQueryForm form = new TransactionOrderStatusQueryForm();
|
|
|
+ form.setType(1);
|
|
|
+ form.setGuid(detail.getGuid());
|
|
|
+ SingleTransferInstructionQueryEntity entity = bankTransferService.singleTransferInstruction(form);
|
|
|
+ if (entity == null){
|
|
|
+ log.info("------>定时任务处理获取返回信息为空:"+detail.getGuid());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String msg = null;
|
|
|
+ if (BankStringUtils.getSuccess().containsKey(entity.getOrderStatus())){
|
|
|
+ detail.setState(2);
|
|
|
+ msg = BankStringUtils.getSuccess().get(entity.getOrderStatus());
|
|
|
+ }else if(BankStringUtils.getFail().containsKey(entity.getOrderStatus())){
|
|
|
+ detail.setState(3);
|
|
|
+ msg = BankStringUtils.getFail().get(entity.getOrderStatus());
|
|
|
+ }else {
|
|
|
+ log.info("清分中 不处理"+detail.getGuid());
|
|
|
+ if (BankStringUtils.getSuccess().containsKey(entity.getOrderStatus())){
|
|
|
+ msg = BankStringUtils.getSuccess().get(entity.getOrderStatus());
|
|
|
+ }
|
|
|
+ msg = "银行处理中";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ BTransferDetailRequestExample requestExample = new BTransferDetailRequestExample();
|
|
|
+ BTransferDetailRequestExample.Criteria requestCriteria = requestExample.createCriteria();
|
|
|
+ requestCriteria.andFkTransferDetailIdEqualTo(detail.getGuid());
|
|
|
+ requestExample.setOrderByClause("create_time desc");
|
|
|
+
|
|
|
+ List<BTransferDetailRequest> requests = requestMapper.selectByExample(requestExample);
|
|
|
+ if (requests != null){
|
|
|
+ BTransferDetailRequest detailRequest = requests.get(0);
|
|
|
+ detailRequest.setHandFee(entity.getHandFee());
|
|
|
+ detailRequest.setPostFee(entity.getPostFee());
|
|
|
+ detailRequest.setPayStatus(entity.getOrderStatus());
|
|
|
+ detailRequest.setPayMsg(msg);
|
|
|
+ detailRequest.setRetCode(entity.getReturnCod());
|
|
|
+ detailRequest.setErrorMsg(entity.getReturnFailMsg());
|
|
|
+ requestMapper.updateByPrimaryKeySelective(detailRequest);
|
|
|
+ }
|
|
|
+ bTransferDetailMapper.updateByPrimaryKeySelective(detail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void rollTrans() {
|
|
|
+
|
|
|
+ }
|
|
|
+}
|