package com.szwl.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.szwl.model.bo.R;
import com.szwl.model.bo.ResponseModel;
import com.szwl.model.entity.TAdmin;
import com.szwl.model.entity.TEquipment;
import com.szwl.model.entity.TJoinpayMch;
import com.szwl.model.entity.TJoinpayMchCheck;
import com.szwl.service.TAdminService;
import com.szwl.service.TJoinpayMchCheckService;
import com.szwl.service.TJoinpayMchService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;
/**
*
* 汇聚支付用户收款信息表 前端控制器
*
*
* @author wuhs
* @since 2022-04-29
*/
@RestController
@RequestMapping("/tJoinpayMch")
public class TJoinpayMchController {
@Autowired
TJoinpayMchService tJoinpayMchService;
@Autowired
TJoinpayMchCheckService tJoinpayMchCheckService;
@Autowired
TAdminService adminService;
@ApiOperation(value = "查找汇聚收款账户信息")
@PostMapping("/getOne")
public ResponseModel> findById(Long id,String username) {
TAdmin admin = adminService.getById(id);
if(!admin.getUsername().equals(username)){
return R.fail("username不符合!");
}
LambdaQueryWrapper query = Wrappers.lambdaQuery();
query.eq(TJoinpayMch::getAdminId,id);
List list = tJoinpayMchService.list(query);
if(list.size()>0){
//已经注册,就要查看是否有提交审核的
LambdaQueryWrapper query1 = Wrappers.lambdaQuery();
query1.eq(TJoinpayMchCheck::getAdminId,id);
List list1 = tJoinpayMchCheckService.list(query1);
if(list1.size()>0){
int i = 0;
for(TJoinpayMchCheck tJoinpayMchCheck:list1){
if(tJoinpayMchCheck.getType().equals("0")||tJoinpayMchCheck.getType().equals("3")){
i++;
}
}
if(i==0){
return R.ok(list.get(0));
}else {
for(int j=list1.size()-1;j>=0;j--){
if(!list1.get(j).getType().equals("2")&!list1.get(j).getType().equals("1")){
if(list1.get(j).getType().equals("3")){
Date data = new Date();
long time = data.getTime();
long updateTime = list1.get(j).getModifyDate().getTime();
if(3*24*60*60*1000l>time-updateTime){
//拒绝的审核,超过3天后不显示
return R.ok(list.get(0));
}else {
return R.ok(list.get(j));
}
}
return R.ok(list.get(j));
}
}
}
}else {
return R.ok(list.get(0));
}
return R.ok(list.get(0));
}else {
return R.fail("尚未注册!");
}
}
@ApiOperation(value = "保存或提交审核")
@PostMapping("/save")
public ResponseModel> save(@RequestBody TJoinpayMch tJoinpayMch) {
TAdmin admin = adminService.getById(tJoinpayMch.getAdminId());
LambdaQueryWrapper query = Wrappers.lambdaQuery();
query.eq(TJoinpayMch::getAdminId,tJoinpayMch.getAdminId());
List list = tJoinpayMchService.list(query);
if(list.size()>0){
//已有,属于第二次提交信息,需要审核
TJoinpayMch mch = list.get(0);
createCheckMch(mch,tJoinpayMch);
return R.ok(list.get(0));
}else {
//没有,直接保存
String result = tJoinpayMchService.createMch(tJoinpayMch);
return R.fail("尚未注册!");
}
}
@ApiOperation(value = "获取提现信息")
@GetMapping("/getMch")
public ResponseModel getMch(String id) {
LambdaQueryWrapper query = Wrappers.lambdaQuery();
query.eq(TJoinpayMch::getAdminId,Long.valueOf(id));
List list = tJoinpayMchService.list(query);
TJoinpayMch tJoinpayMch = list.get(0);
return R.ok(tJoinpayMch);
}
private ResponseModel> createCheckMch(TJoinpayMch mch, TJoinpayMch tJoinpayMch) {
//检查是否有更新
int a = 0;
if(!mch.getBankAccountNo().equals(tJoinpayMch.getBankAccountNo())){
a++;
}
if(!mch.getBusiContactName().equals(tJoinpayMch.getBusiContactName())){
a++;
}
if(!mch.getIdCardNo().equals(tJoinpayMch.getIdCardNo())){
a++;
}
if(mch.getSettMode()!=null&&tJoinpayMch.getSettMode()!=null&mch.getSettMode()!=tJoinpayMch.getSettMode()){
a++;
}
if(mch.getAltMerchantType()!=tJoinpayMch.getAltMerchantType()){
a++;
}
if(a<=0){
return R.fail("重复提交!");
}else {
LambdaQueryWrapper query = Wrappers.lambdaQuery();
query.eq(TJoinpayMchCheck::getType,"0");
List list = tJoinpayMchCheckService.list(query);
if(list.size()>0){
return R.fail("重复提交!");
}
TJoinpayMchCheck joinpayMchCheck = new TJoinpayMchCheck();
joinpayMchCheck.setAdminId(tJoinpayMch.getAdminId());
joinpayMchCheck.setAltMainBalance(tJoinpayMch.getAltMainBalance());
joinpayMchCheck.setAltGuarBalance(tJoinpayMch.getAltGuarBalance());
joinpayMchCheck.setAltAvilBalance(tJoinpayMch.getAltAvilBalance());
joinpayMchCheck.setAltMchNo(tJoinpayMch.getAltMchNo());
joinpayMchCheck.setAltMchName(tJoinpayMch.getAltMchName());
joinpayMchCheck.setSignTrxNo(tJoinpayMch.getSignTrxNo());
joinpayMchCheck.setBizCode(tJoinpayMch.getBizCode());
joinpayMchCheck.setOrderStatus(tJoinpayMch.getOrderStatus());
joinpayMchCheck.setLoginName(tJoinpayMch.getLoginName());
joinpayMchCheck.setBankAccountType(mch.getBankAccountType());
joinpayMchCheck.setLegalPerson(mch.getLegalPerson());
joinpayMchCheck.setIdCardNo(mch.getIdCardNo());
joinpayMchCheck.setAltMerchantType(mch.getAltMerchantType());
joinpayMchCheck.setBankAccountName(mch.getBankAccountName());
joinpayMchCheck.setBankAccountNo(mch.getBankAccountNo());
joinpayMchCheck.setBankChannelNo(mch.getBankChannelNo());
if (!StringUtils.isEmpty(mch.getBusiContactName())) {
joinpayMchCheck.setBusiContactName(mch.getBusiContactName());
}
if (!StringUtils.isEmpty(mch.getBusiContactMobileNo())) {
joinpayMchCheck.setBusiContactMobileNo(mch.getBusiContactMobileNo());
}
if (!StringUtils.isEmpty(mch.getPhoneNo())) {
joinpayMchCheck.setPhoneNo(mch.getPhoneNo());
}
if (!StringUtils.isEmpty(mch.getLicenseNo())) {
joinpayMchCheck.setLicenseNo(mch.getLicenseNo());
}
if(mch.getSettMode()!=null){
joinpayMchCheck.setSettMode(mch.getSettMode());
}
if(mch.getRiskDay()!=null){
joinpayMchCheck.setRiskDay(mch.getRiskDay());
}
joinpayMchCheck.setType("0");
tJoinpayMchCheckService.save(joinpayMchCheck);
return R.ok();
}
}
}