兑换代币--智能合约执行

master
@t2652009480 12 months ago
parent aef055f125
commit 46bbbbc69d

@ -10,10 +10,12 @@ import com.sztzjy.block_finance.util.ResultEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.checkerframework.checker.units.qual.A;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
/**
@ -35,14 +37,6 @@ public class StuDebtTransferStartController {
return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtTransferDTOList);
}
@PostMapping("/operate")
@AnonymousAccess
@ApiOperation("操作:下载、上传、读取")
public ResultEntity operate(@ApiParam("文件ID") Integer id,
@ApiParam("操作类型") String operateType){
int result=stuDebtTransferStartService.operate(id,operateType);
return new ResultEntity<>(HttpStatus.OK,operateType+"成功");
}
@PostMapping("/applicationForDebtTransfer")
@AnonymousAccess
@ -106,4 +100,65 @@ public class StuDebtTransferStartController {
stuDebtTransferStartService.digitalCredentialUpdate(userId,ciphertext,category);
return new ResultEntity<>(HttpStatus.OK,"成功");
}
@PostMapping("/exchangeTokensConfirm")
@AnonymousAccess
@ApiOperation("兑换代币")
public ResultEntity exchangeTokensConfirm(@ApiParam("用户ID") String userId){
// stuDebtTransferStartService.exchangeTokens(userId);
return new ResultEntity<>(HttpStatus.OK, "成功");
}
@PostMapping("/receiveTokens")
@AnonymousAccess
@ApiOperation("接收代币")
public ResultEntity receiveTokens(@RequestParam @ApiParam("用户ID") String userId){
stuDebtTransferStartService.receiveTokens(userId);
return new ResultEntity<>(HttpStatus.OK, "成功");
}
@PostMapping("/contracts")
@AnonymousAccess
@ApiOperation("再贴现--签订采购合作")
public ResultEntity contracts(@ApiParam("用户ID") String userId,
@ApiParam("需方") String demandSide,
@ApiParam("供方") String supplier,
@ApiParam("物料名称") String materialName,
@ApiParam("总金额") BigDecimal totalAmount){
stuDebtTransferStartService.redisCountContracts(userId,demandSide,supplier,materialName,totalAmount);
return new ResultEntity<>(HttpStatus.OK, "签订合同成功");
}
@PostMapping("/paymentTokens")
@AnonymousAccess
@ApiOperation("再贴现--支付代币")
public ResultEntity paymentTokens(@ApiParam("用户ID") String userId,
@ApiParam("支付代币金额") BigDecimal money,
@ApiParam("代币转入地址") String nodeAddress){
stuDebtTransferStartService.paymentTokens(userId,money,nodeAddress);
return new ResultEntity<>(HttpStatus.OK, "支付成功");
}
@PostMapping("/matureRepayment")
@AnonymousAccess
@ApiOperation("到期还款")
public ResultEntity matureRepayment(@ApiParam("用户ID") String userId,
@ApiParam("还款方") String repaymentParty,
@ApiParam("还款账户") String repaymentAccount,
@ApiParam("支付对象") String paymentRecipient,
@ApiParam("开户行") String openingBank,
@ApiParam("银行账号") String bankAccountNumber,
@ApiParam("支付金额") BigDecimal paymentAmount){
stuDebtTransferStartService.matureRepayment(userId,repaymentParty,repaymentAccount,paymentRecipient,openingBank,bankAccountNumber,paymentAmount);
return new ResultEntity<>(HttpStatus.OK, "成功");
}
@PostMapping("/smartContracts")
@AnonymousAccess
@ApiOperation("智能合约执行")
public ResultEntity smartContracts(@RequestParam @ApiParam("用户ID") String userId){
stuDebtTransferStartService.smartContracts(userId);
return new ResultEntity<>(HttpStatus.OK, "成功");
}
}

@ -0,0 +1,176 @@
package com.sztzjy.block_finance.controller;
import cn.hutool.core.util.IdUtil;
import com.sztzjy.block_finance.annotation.AnonymousAccess;
import com.sztzjy.block_finance.config.Constant;
import com.sztzjy.block_finance.config.exception.handler.InvoceTException;
import com.sztzjy.block_finance.config.exception.handler.ServiceException;
import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo;
import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample;
import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper;
import com.sztzjy.block_finance.service.StuDebtTransferStartService;
import com.sztzjy.block_finance.util.ResultEntity;
import com.sztzjy.block_finance.util.file.IFileUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.http.HttpStatus;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
* @author tz
* @date 2024/4/2 10:30
*/
@RestController
@RequestMapping("api/stu/supplyChainFinance/operation")
@Api(tags = "文件操作统一接口:下载、上传、读取、预览")
public class StuOperationController {
@Resource
StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper;
@Resource
StuDebtTransferStartService stuDebtTransferStartService;
@Resource
IFileUtil iFileUtil;
@PostMapping("/download")
@AnonymousAccess
@ApiOperation("操作:下载")
public void download(@ApiParam("文件名称") String docName,
@ApiParam("用户ID") String userId,
@RequestParam(required = false)@ApiParam("企业类别") String category,
HttpServletResponse response){
HashMap<String, String> map = new HashMap<>();
map.put("连带责任保证担保合同","/supply/部分18 连带责任保证担保合同.pdf");
map.put("应收账款反转让承诺书","/supply/部分14 应收账款反转让承诺书.pdf");
map.put("应收账款转让明细表","/supply/部分1 应收账款转让明细表.pdf");
map.put("应收账款转让通知书","/supply/部分12 应收账款转让通知书1.pdf");
map.put("应收账款转让通知书 回执","/supply/部分13 应收账款转让通知书2 回执.pdf");
String docPath = map.get(docName);
iFileUtil.download(response,docPath);
//更新下载状态
StuTransactionDocumentsInfoExample example=new StuTransactionDocumentsInfoExample();
example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(docName);
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(example);
if(!stuTransactionDocumentsInfos.isEmpty()){
if(category.isEmpty()){
stuTransactionDocumentsInfos.get(0).setDownloadStatus(1);
}
if(category.equals(Constant.CORE_ENTERPRISES)){
stuTransactionDocumentsInfos.get(0).setCoreEnterpriseDownloadStatus(1);
}
if(category.equals(Constant.IMPORT_FACTOR)){
stuTransactionDocumentsInfos.get(0).setFactoringDownloadStatus(1);
}
stuTransactionDocumentsInfos.get(0).setDownloadStatus(1);
stuTransactionDocumentsInfoMapper.updateByPrimaryKey(stuTransactionDocumentsInfos.get(0));
}
}
@PostMapping("/upload")
@AnonymousAccess
@ApiOperation("操作:上传")
public ResultEntity upload(@RequestParam @RequestPart MultipartFile file,
@RequestParam String userId,
@RequestParam(required = false)@ApiParam("企业类别") String category,
@ApiParam("文件名")@RequestParam @NotBlank String fileName){
//判断用户是否已下载
StuTransactionDocumentsInfoExample stuTransactionDocumentsInfoExample=new StuTransactionDocumentsInfoExample();
stuTransactionDocumentsInfoExample.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(fileName);
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(stuTransactionDocumentsInfoExample);
if(!stuTransactionDocumentsInfos.isEmpty()){
Integer downloadStatus = stuTransactionDocumentsInfos.get(0).getDownloadStatus();
if(downloadStatus!=1){
throw new ServiceException(HttpStatus.ACCEPTED,"文件未下载");
}
}
//TODO 上传名字做校验防止出现胡乱上传问题待补充
HashMap<String, String> map = new HashMap<>();
map.put("应收账款转让通知书 回执","部分13 应收账款转让通知书2 回执");
//用于判断文件名是否为对应的文件名
String name = map.get(fileName);
if (file.isEmpty()) {
throw new InvoceTException(HttpStatus.ACCEPTED, "请勿上传空文件!");
}
// 获取文件名
String originalFilename = file.getOriginalFilename();
if (!name.equals(originalFilename))
{
throw new InvoceTException(HttpStatus.ACCEPTED, "请上传正确的文件!");
}
// 判断文件扩展名是否为图片格式
if (!StringUtils.hasLength(originalFilename) || (!originalFilename.toLowerCase().endsWith(".pdf")))
{
throw new InvoceTException(HttpStatus.ACCEPTED, "请上传正确的文件!");
}
StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample();
example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(fileName);
List<StuTransactionDocumentsInfo> documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example);
String uploadPath = iFileUtil.upload(file);
if (!documentsInfoList.isEmpty()){
StuTransactionDocumentsInfo documentsInfo = documentsInfoList.get(0);
documentsInfo.setUrl(uploadPath);
documentsInfo.setUpdateTime(new Date());
if(category.isEmpty()){
documentsInfo.setUploadStatus(1);
}
if(category.equals(Constant.CORE_ENTERPRISES)){
documentsInfo.setCoreEnterpriseUploadStatus(1);
}
if(category.equals(Constant.IMPORT_FACTOR)){
documentsInfo.setFactoringUploadStatus(1);
}
stuTransactionDocumentsInfoMapper.updateByPrimaryKeySelective(documentsInfo);
}
return new ResultEntity<>(HttpStatus.OK, "上传成功",uploadPath);
}
@PostMapping("/read")
@AnonymousAccess
@ApiOperation("操作:读取")
public ResultEntity read(@RequestParam @ApiParam("文件ID") Integer id){
int result=stuDebtTransferStartService.operate(id);
if(result>0){
return new ResultEntity<>(HttpStatus.OK,"读取成功");
}else {
return new ResultEntity<>(HttpStatus.OK,"读取失败");
}
}
}

@ -1,5 +1,6 @@
package com.sztzjy.block_finance.entity;
import java.math.BigDecimal;
import java.util.Date;
public class StuDigitalDebtVoucher {
@ -47,6 +48,12 @@ public class StuDigitalDebtVoucher {
private String coreEnterprisesDigitalSignature;
private BigDecimal factoringFinancingAmount;
private BigDecimal exchangeTokenAmount;
private BigDecimal remainingAmount;
public String getId() {
return id;
}
@ -222,4 +229,28 @@ public class StuDigitalDebtVoucher {
public void setCoreEnterprisesDigitalSignature(String coreEnterprisesDigitalSignature) {
this.coreEnterprisesDigitalSignature = coreEnterprisesDigitalSignature == null ? null : coreEnterprisesDigitalSignature.trim();
}
public BigDecimal getFactoringFinancingAmount() {
return factoringFinancingAmount;
}
public void setFactoringFinancingAmount(BigDecimal factoringFinancingAmount) {
this.factoringFinancingAmount = factoringFinancingAmount;
}
public BigDecimal getExchangeTokenAmount() {
return exchangeTokenAmount;
}
public void setExchangeTokenAmount(BigDecimal exchangeTokenAmount) {
this.exchangeTokenAmount = exchangeTokenAmount;
}
public BigDecimal getRemainingAmount() {
return remainingAmount;
}
public void setRemainingAmount(BigDecimal remainingAmount) {
this.remainingAmount = remainingAmount;
}
}

@ -1,5 +1,6 @@
package com.sztzjy.block_finance.entity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -1594,6 +1595,186 @@ public class StuDigitalDebtVoucherExample {
addCriterion("core_enterprises_digital_signature not between", value1, value2, "coreEnterprisesDigitalSignature");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountIsNull() {
addCriterion("factoring_financing_amount is null");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountIsNotNull() {
addCriterion("factoring_financing_amount is not null");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountEqualTo(BigDecimal value) {
addCriterion("factoring_financing_amount =", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountNotEqualTo(BigDecimal value) {
addCriterion("factoring_financing_amount <>", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountGreaterThan(BigDecimal value) {
addCriterion("factoring_financing_amount >", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("factoring_financing_amount >=", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountLessThan(BigDecimal value) {
addCriterion("factoring_financing_amount <", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("factoring_financing_amount <=", value, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountIn(List<BigDecimal> values) {
addCriterion("factoring_financing_amount in", values, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountNotIn(List<BigDecimal> values) {
addCriterion("factoring_financing_amount not in", values, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("factoring_financing_amount between", value1, value2, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andFactoringFinancingAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("factoring_financing_amount not between", value1, value2, "factoringFinancingAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountIsNull() {
addCriterion("exchange_token_amount is null");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountIsNotNull() {
addCriterion("exchange_token_amount is not null");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountEqualTo(BigDecimal value) {
addCriterion("exchange_token_amount =", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountNotEqualTo(BigDecimal value) {
addCriterion("exchange_token_amount <>", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountGreaterThan(BigDecimal value) {
addCriterion("exchange_token_amount >", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("exchange_token_amount >=", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountLessThan(BigDecimal value) {
addCriterion("exchange_token_amount <", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("exchange_token_amount <=", value, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountIn(List<BigDecimal> values) {
addCriterion("exchange_token_amount in", values, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountNotIn(List<BigDecimal> values) {
addCriterion("exchange_token_amount not in", values, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("exchange_token_amount between", value1, value2, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andExchangeTokenAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("exchange_token_amount not between", value1, value2, "exchangeTokenAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountIsNull() {
addCriterion("remaining_amount is null");
return (Criteria) this;
}
public Criteria andRemainingAmountIsNotNull() {
addCriterion("remaining_amount is not null");
return (Criteria) this;
}
public Criteria andRemainingAmountEqualTo(BigDecimal value) {
addCriterion("remaining_amount =", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountNotEqualTo(BigDecimal value) {
addCriterion("remaining_amount <>", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountGreaterThan(BigDecimal value) {
addCriterion("remaining_amount >", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("remaining_amount >=", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountLessThan(BigDecimal value) {
addCriterion("remaining_amount <", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("remaining_amount <=", value, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountIn(List<BigDecimal> values) {
addCriterion("remaining_amount in", values, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountNotIn(List<BigDecimal> values) {
addCriterion("remaining_amount not in", values, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("remaining_amount between", value1, value2, "remainingAmount");
return (Criteria) this;
}
public Criteria andRemainingAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("remaining_amount not between", value1, value2, "remainingAmount");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

@ -27,12 +27,20 @@ public class StuTransactionDocumentsInfo {
private Integer coreEnterpriseDisplay;
private Integer coreEnterpriseDownloadStatus;
private Integer coreEnterpriseUploadStatus;
private Integer coreEnterpriseReceiveStatus;
private Integer factoringCompanyDisplay;
private Integer factoringCompaniesReceiveStatus;
private Integer factoringDownloadStatus;
private Integer factoringUploadStatus;
private Integer readStatus;
private Integer downloadStatus;
@ -143,6 +151,22 @@ public class StuTransactionDocumentsInfo {
this.coreEnterpriseDisplay = coreEnterpriseDisplay;
}
public Integer getCoreEnterpriseDownloadStatus() {
return coreEnterpriseDownloadStatus;
}
public void setCoreEnterpriseDownloadStatus(Integer coreEnterpriseDownloadStatus) {
this.coreEnterpriseDownloadStatus = coreEnterpriseDownloadStatus;
}
public Integer getCoreEnterpriseUploadStatus() {
return coreEnterpriseUploadStatus;
}
public void setCoreEnterpriseUploadStatus(Integer coreEnterpriseUploadStatus) {
this.coreEnterpriseUploadStatus = coreEnterpriseUploadStatus;
}
public Integer getCoreEnterpriseReceiveStatus() {
return coreEnterpriseReceiveStatus;
}
@ -167,6 +191,22 @@ public class StuTransactionDocumentsInfo {
this.factoringCompaniesReceiveStatus = factoringCompaniesReceiveStatus;
}
public Integer getFactoringDownloadStatus() {
return factoringDownloadStatus;
}
public void setFactoringDownloadStatus(Integer factoringDownloadStatus) {
this.factoringDownloadStatus = factoringDownloadStatus;
}
public Integer getFactoringUploadStatus() {
return factoringUploadStatus;
}
public void setFactoringUploadStatus(Integer factoringUploadStatus) {
this.factoringUploadStatus = factoringUploadStatus;
}
public Integer getReadStatus() {
return readStatus;
}

@ -855,6 +855,126 @@ public class StuTransactionDocumentsInfoExample {
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusIsNull() {
addCriterion("core_enterprise_download_status is null");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusIsNotNull() {
addCriterion("core_enterprise_download_status is not null");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusEqualTo(Integer value) {
addCriterion("core_enterprise_download_status =", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusNotEqualTo(Integer value) {
addCriterion("core_enterprise_download_status <>", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusGreaterThan(Integer value) {
addCriterion("core_enterprise_download_status >", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("core_enterprise_download_status >=", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusLessThan(Integer value) {
addCriterion("core_enterprise_download_status <", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusLessThanOrEqualTo(Integer value) {
addCriterion("core_enterprise_download_status <=", value, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusIn(List<Integer> values) {
addCriterion("core_enterprise_download_status in", values, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusNotIn(List<Integer> values) {
addCriterion("core_enterprise_download_status not in", values, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusBetween(Integer value1, Integer value2) {
addCriterion("core_enterprise_download_status between", value1, value2, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseDownloadStatusNotBetween(Integer value1, Integer value2) {
addCriterion("core_enterprise_download_status not between", value1, value2, "coreEnterpriseDownloadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusIsNull() {
addCriterion("core_enterprise_upload_status is null");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusIsNotNull() {
addCriterion("core_enterprise_upload_status is not null");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusEqualTo(Integer value) {
addCriterion("core_enterprise_upload_status =", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusNotEqualTo(Integer value) {
addCriterion("core_enterprise_upload_status <>", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusGreaterThan(Integer value) {
addCriterion("core_enterprise_upload_status >", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("core_enterprise_upload_status >=", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusLessThan(Integer value) {
addCriterion("core_enterprise_upload_status <", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusLessThanOrEqualTo(Integer value) {
addCriterion("core_enterprise_upload_status <=", value, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusIn(List<Integer> values) {
addCriterion("core_enterprise_upload_status in", values, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusNotIn(List<Integer> values) {
addCriterion("core_enterprise_upload_status not in", values, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusBetween(Integer value1, Integer value2) {
addCriterion("core_enterprise_upload_status between", value1, value2, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseUploadStatusNotBetween(Integer value1, Integer value2) {
addCriterion("core_enterprise_upload_status not between", value1, value2, "coreEnterpriseUploadStatus");
return (Criteria) this;
}
public Criteria andCoreEnterpriseReceiveStatusIsNull() {
addCriterion("core_enterprise_receive_status is null");
return (Criteria) this;
@ -1035,6 +1155,126 @@ public class StuTransactionDocumentsInfoExample {
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusIsNull() {
addCriterion("factoring_download_status is null");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusIsNotNull() {
addCriterion("factoring_download_status is not null");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusEqualTo(Integer value) {
addCriterion("factoring_download_status =", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusNotEqualTo(Integer value) {
addCriterion("factoring_download_status <>", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusGreaterThan(Integer value) {
addCriterion("factoring_download_status >", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("factoring_download_status >=", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusLessThan(Integer value) {
addCriterion("factoring_download_status <", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusLessThanOrEqualTo(Integer value) {
addCriterion("factoring_download_status <=", value, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusIn(List<Integer> values) {
addCriterion("factoring_download_status in", values, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusNotIn(List<Integer> values) {
addCriterion("factoring_download_status not in", values, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusBetween(Integer value1, Integer value2) {
addCriterion("factoring_download_status between", value1, value2, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringDownloadStatusNotBetween(Integer value1, Integer value2) {
addCriterion("factoring_download_status not between", value1, value2, "factoringDownloadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusIsNull() {
addCriterion("factoring_upload_status is null");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusIsNotNull() {
addCriterion("factoring_upload_status is not null");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusEqualTo(Integer value) {
addCriterion("factoring_upload_status =", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusNotEqualTo(Integer value) {
addCriterion("factoring_upload_status <>", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusGreaterThan(Integer value) {
addCriterion("factoring_upload_status >", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("factoring_upload_status >=", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusLessThan(Integer value) {
addCriterion("factoring_upload_status <", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusLessThanOrEqualTo(Integer value) {
addCriterion("factoring_upload_status <=", value, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusIn(List<Integer> values) {
addCriterion("factoring_upload_status in", values, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusNotIn(List<Integer> values) {
addCriterion("factoring_upload_status not in", values, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusBetween(Integer value1, Integer value2) {
addCriterion("factoring_upload_status between", value1, value2, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andFactoringUploadStatusNotBetween(Integer value1, Integer value2) {
addCriterion("factoring_upload_status not between", value1, value2, "factoringUploadStatus");
return (Criteria) this;
}
public Criteria andReadStatusIsNull() {
addCriterion("read_status is null");
return (Criteria) this;

@ -1,8 +1,10 @@
package com.sztzjy.block_finance.service;
import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo;
import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
import java.math.BigDecimal;
import java.util.List;
/**
@ -12,7 +14,7 @@ import java.util.List;
public interface StuDebtTransferStartService {
List<StuDebtTransferDTO> debtTransferFileDisplay(String userId);
int operate(Integer id, String operateType);
int operate(Integer id);
void applicationForDebtTransfer(String userId);
@ -27,4 +29,16 @@ public interface StuDebtTransferStartService {
String digitalSignatureConfirmation(String userId,String privateKey, String fileName,String category);
void digitalCredentialUpdate(String userId, String ciphertext, String category);
List<StuTransactionDocumentsInfo> defaultDataSettings(String userId);
void receiveTokens(String userId);
void redisCountContracts(String userId, String demandSide, String supplier, String materialName, BigDecimal totalAmount);
void paymentTokens(String userId, BigDecimal money, String nodeAddress);
void matureRepayment(String userId, String repaymentParty, String repaymentAccount, String paymentRecipient, String openingBank, String bankAccountNumber, BigDecimal paymentAmount);
void smartContracts(String userId);
}

@ -4,11 +4,9 @@ import com.sztzjy.block_finance.config.Constant;
import com.sztzjy.block_finance.config.exception.handler.ServiceException;
import com.sztzjy.block_finance.entity.*;
import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
import com.sztzjy.block_finance.mappers.StuDebtInvestigationInfoMapper;
import com.sztzjy.block_finance.mappers.StuDigitalDebtVoucherMapper;
import com.sztzjy.block_finance.mappers.StuDigitalSignatureInfoMapper;
import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper;
import com.sztzjy.block_finance.mappers.*;
import com.sztzjy.block_finance.service.StuDebtTransferStartService;
import com.sztzjy.block_finance.util.BigDecimalUtils;
import com.sztzjy.block_finance.util.ConvertUtil;
import com.sztzjy.block_finance.util.RsaUtil;
import org.checkerframework.checker.units.qual.C;
@ -16,6 +14,9 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@ -35,6 +36,8 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
StuDigitalSignatureInfoMapper stuDigitalSignatureInfoMapper;
@Resource
StuDigitalDebtVoucherMapper stuDigitalDebtVoucherMapper;
@Resource
stuJoinNodeMapper stuJoinNodeMapper;
@Override
public List<StuDebtTransferDTO> debtTransferFileDisplay(String userId) {
@ -44,44 +47,22 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
if(stuTransactionDocumentsInfoList.isEmpty()){
//查询默认数据
StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample();
example.createCriteria().andUserIdIsNull();
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(example);
for (int i = 0; i < stuTransactionDocumentsInfos.size(); i++) {
StuTransactionDocumentsInfo stuTransactionDocumentsInfo = stuTransactionDocumentsInfos.get(i);
Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
stuTransactionDocumentsInfo.setId(uuid);
stuTransactionDocumentsInfo.setUserId(userId);
stuTransactionDocumentsInfoMapper.insert(stuTransactionDocumentsInfo);
if(stuTransactionDocumentsInfo.getDiscountDisplay()==1){
stuTransactionDocumentsInfoList.add(stuTransactionDocumentsInfo);
}
}
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = this.defaultDataSettings(userId);
List<StuDebtTransferDTO> stuDebtTransferDTOList = convertUtil.entityToDTOList(stuTransactionDocumentsInfos, StuDebtTransferDTO.class);
return stuDebtTransferDTOList;
}else {
List<StuDebtTransferDTO> stuDebtTransferDTOList = convertUtil.entityToDTOList(stuTransactionDocumentsInfoList, StuDebtTransferDTO.class);
return stuDebtTransferDTOList;
}
List<StuDebtTransferDTO> stuDebtTransferDTOList = convertUtil.entityToDTOList(stuTransactionDocumentsInfoList, StuDebtTransferDTO.class);
return stuDebtTransferDTOList;
}
@Override
public int operate(Integer id, String operateType) {
public int operate(Integer id) {
StuTransactionDocumentsInfo stuTransactionDocumentsInfo = stuTransactionDocumentsInfoMapper.selectByPrimaryKey(id);
if(operateType.equals("下载")){
stuTransactionDocumentsInfo.setDownloadStatus(1);
}
if(operateType.equals("上传")){
if(stuTransactionDocumentsInfo.getDownloadStatus()!=1){
throw new ServiceException(HttpStatus.ACCEPTED,"未下载文件,无法上传");
}
stuTransactionDocumentsInfo.setUploadStatus(1);
}
if(operateType.equals("读取")){
if(stuTransactionDocumentsInfo.getUploadStatus()!=1){
throw new ServiceException(HttpStatus.ACCEPTED,"未上传文件,无法读取");
}
stuTransactionDocumentsInfo.setReadStatus(1);
}
int update = stuTransactionDocumentsInfoMapper.updateByPrimaryKey(stuTransactionDocumentsInfo);
return update;
}
@ -139,18 +120,11 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(stuTransactionDocumentsInfoExample);
if(stuTransactionDocumentsInfoList.isEmpty()){
//查询默认数据
StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample();
example.createCriteria().andUserIdIsNull();
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(example);
//设置默认数据
List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = this.defaultDataSettings(userId);
for (int i = 0; i < stuTransactionDocumentsInfos.size(); i++) {
StuTransactionDocumentsInfo stuTransactionDocumentsInfo = stuTransactionDocumentsInfos.get(i);
Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
stuTransactionDocumentsInfo.setId(uuid);
stuTransactionDocumentsInfo.setUserId(userId);
stuTransactionDocumentsInfoMapper.insert(stuTransactionDocumentsInfo);
if(category.equals(Constant.SUPPLIER)){ //查询供应商文件信息
if(stuTransactionDocumentsInfo.getSupplierDisplay()==1){
stuTransactionDocumentsInfoList.add(stuTransactionDocumentsInfo);
@ -268,4 +242,269 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
stuDigitalDebtVoucherMapper.updateByPrimaryKey(stuDigitalDebtVoucher);
}
}
/**
*
* @param userId ID
*/
@Override
public List<StuTransactionDocumentsInfo> defaultDataSettings(String userId) {
List<StuTransactionDocumentsInfo> list=new ArrayList<>();
String[] strings={"采购订单","开具发票","邮件确认订单","交货对账单","确认开增值税发票","信丰世嘉融资事项股东会决议",
"数字债权凭证","连带责任保证担保合同","应收账款反转让承诺书","应收账款转让明细表","应收账款转让通知书","应收账款转让通知书 回执","签署智能合约","中登网转让登记"};
for (int i = 0; i < 14; i++) {
StuTransactionDocumentsInfo stuTransactionDocumentsInfo=new StuTransactionDocumentsInfo();
Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
stuTransactionDocumentsInfo.setId(uuid);
stuTransactionDocumentsInfo.setFileName(strings[i]);
stuTransactionDocumentsInfo.setUserId(userId);
if(strings[i].equals("数字资产债权凭证") || strings[i].equals("应收账款转让通知书") || strings[i].equals("签署智能合约")){ //全部展示
stuTransactionDocumentsInfo.setDiscountDisplay(1);
stuTransactionDocumentsInfo.setSupplierDisplay(1);
stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
}
if(i<10){ //仅发起债权转让贴现展示
stuTransactionDocumentsInfo.setDiscountDisplay(1);
if(i<5){
stuTransactionDocumentsInfo.setSequence(i);
}
}
if(strings[i].equals("应收账款转让通知书 回执")){ //核心企业和保理公司展示
stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
stuTransactionDocumentsInfo.setCoreEnterpriseDisplay(1);
}
if(strings[i].equals("中登网转让登记")){ //仅保理公司展示
stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
}
stuTransactionDocumentsInfo.setCreateTime(new Date());
list.add(stuTransactionDocumentsInfo);
stuTransactionDocumentsInfoMapper.insert(stuTransactionDocumentsInfo);
}
return list;
}
/**
*
* @param userId ID
*/
@Override
public void receiveTokens(String userId) {
StuDigitalDebtVoucherExample debtVoucherExample=new StuDigitalDebtVoucherExample();
debtVoucherExample.createCriteria().andUserIdEqualTo(userId);
List<StuDigitalDebtVoucher> stuDigitalDebtVouchers = stuDigitalDebtVoucherMapper.selectByExample(debtVoucherExample);
if(stuDigitalDebtVouchers.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"未生成数字债权凭证");
}
StuDigitalDebtVoucher stuDigitalDebtVoucher = stuDigitalDebtVouchers.get(0);
//取出兑换代币额
BigDecimal exchangeTokenAmount = stuDigitalDebtVoucher.getExchangeTokenAmount();
//查询一级供应商账户,并将兑换代币额加入资产中
stuJoinNodeExample example=new stuJoinNodeExample();
example.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(2);
List<stuJoinNode> stuJoinNodes = stuJoinNodeMapper.selectByExample(example);
if(stuJoinNodes.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"供应商未加入节点");
}
stuJoinNode stuJoinNode = stuJoinNodes.get(0);
stuJoinNode.setTokenAsset(exchangeTokenAmount.toString());
//将应收账款变为0
stuJoinNode.setAccountReceive(String.valueOf(0));
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode);
}
/**
* --
* @param userId
* @param demandSide
* @param supplier
* @param materialName
* @param totalAmount
*/
@Override
public void redisCountContracts(String userId, String demandSide, String supplier, String materialName, BigDecimal totalAmount) {
if(!demandSide.equals(Constant.XINFENG)){
throw new ServiceException(HttpStatus.ACCEPTED,"需方填写信息错误");
}
if(!supplier.equals(Constant.YINBANG)){
throw new ServiceException(HttpStatus.ACCEPTED,"供方填写信息错误");
}
if(!materialName.equals("磁性器件")){
throw new ServiceException(HttpStatus.ACCEPTED,"需方填写信息错误");
}
String plainString = totalAmount.stripTrailingZeros().toPlainString();
if(!plainString.equals("100000")){
throw new ServiceException(HttpStatus.ACCEPTED,"需方填写信息错误");
}
}
/**
* --
* @param userId
* @param money
* @param nodeAddress
*/
@Override
public void paymentTokens(String userId, BigDecimal money, String nodeAddress) {
if(!money.equals("100000")){
throw new ServiceException(HttpStatus.ACCEPTED,"金额填写信息错误");
}
BigDecimalUtils bigDecimalUtils=new BigDecimalUtils();
// TODO: 2024/4/3 1、将代币加入保理商对应账户
stuJoinNodeExample joinNodeExample=new stuJoinNodeExample();
joinNodeExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(3);
List<stuJoinNode> stuJoinNodes = stuJoinNodeMapper.selectByExample(joinNodeExample);
if(stuJoinNodes.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"二级供应商未加入节点");
}
stuJoinNode stuJoinNode = stuJoinNodes.get(0);
if(!nodeAddress.equals(stuJoinNode.getNodeAddress())){
throw new ServiceException(HttpStatus.ACCEPTED,"节点地址填写信息错误");
}
//取出代币资产并相加
String tokenAsset = stuJoinNode.getTokenAsset();
BigDecimal add = bigDecimalUtils.add(tokenAsset, money.toString());
stuJoinNode.setTokenAsset(add.toString());
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode);
StuDigitalDebtVoucherExample example=new StuDigitalDebtVoucherExample();
example.createCriteria().andUserIdEqualTo(userId);
List<StuDigitalDebtVoucher> stuDigitalDebtVouchers = stuDigitalDebtVoucherMapper.selectByExample(example);
// TODO: 2024/4/3 2、将数字债权凭证剩余代币减少
if(stuDigitalDebtVouchers.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"未生成数字债权凭证");
}
StuDigitalDebtVoucher stuDigitalDebtVoucher = stuDigitalDebtVouchers.get(0);
//取出剩余代币
BigDecimal remainingAmount = stuDigitalDebtVoucher.getRemainingAmount();
//运算结果赋值到剩余代币中
BigDecimal sub = bigDecimalUtils.sub(remainingAmount.toString(), money.toString());
stuDigitalDebtVoucher.setRemainingAmount(sub);
stuDigitalDebtVoucherMapper.updateByPrimaryKey(stuDigitalDebtVoucher);
}
@Override
public void matureRepayment(String userId, String repaymentParty, String repaymentAccount, String paymentRecipient, String openingBank, String bankAccountNumber, BigDecimal paymentAmount) {
//查询保理公司信息
stuJoinNodeExample joinNodeExample=new stuJoinNodeExample();
joinNodeExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(4);
List<stuJoinNode> stuJoinNodes = stuJoinNodeMapper.selectByExample(joinNodeExample);
if(stuJoinNodes.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"保理商未加入节点");
}
//查询核心企业信息
stuJoinNodeExample example=new stuJoinNodeExample();
example.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(1);
List<stuJoinNode> stuJoinNodeList = stuJoinNodeMapper.selectByExample(example);
if(stuJoinNodeList.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"核心企业未加入节点");
}
stuJoinNode stuJoinNode = stuJoinNodes.get(0);
stuJoinNode stuJoinNode1 = stuJoinNodeList.get(0);
//判断用户是否输入正确
if(!repaymentParty.equals(Constant.KUNMING)){
throw new ServiceException(HttpStatus.ACCEPTED,"还款方信息填写错误");
}
if(!repaymentAccount.equals(stuJoinNode1.getBaseAccount())){
throw new ServiceException(HttpStatus.ACCEPTED,"还款账户信息填写错误");
}
if(!paymentRecipient.equals(Constant.SHENZHEN)){
throw new ServiceException(HttpStatus.ACCEPTED,"支付对象信息填写错误");
}
if(!openingBank.equals(stuJoinNode.getBankOfDeposit())){
throw new ServiceException(HttpStatus.ACCEPTED,"开户行信息填写错误");
}
if(!bankAccountNumber.equals(stuJoinNode.getBaseAccount())){
throw new ServiceException(HttpStatus.ACCEPTED,"还款方信息填写错误");
}
String plainString = paymentAmount.stripTrailingZeros().toPlainString();
if(!plainString.equals("406262.72")){
throw new ServiceException(HttpStatus.ACCEPTED,"还款方信息填写错误");
}
//案例数据相应资金账户更新,数字债权凭证保理融资额变为0
// TODO: 2024/4/7 1、核心企业应付账款变为0
stuJoinNode1.setAccountPay(String.valueOf(0));
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode1);
// TODO: 2024/4/7 2、数字债权凭证保理融资额变为0
StuDigitalDebtVoucherExample debtVoucherExample=new StuDigitalDebtVoucherExample();
debtVoucherExample.createCriteria().andUserIdEqualTo(userId);
List<StuDigitalDebtVoucher> stuDigitalDebtVouchers = stuDigitalDebtVoucherMapper.selectByExample(debtVoucherExample);
if(stuDigitalDebtVouchers.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"用户未生成债权凭证");
}
StuDigitalDebtVoucher stuDigitalDebtVoucher = stuDigitalDebtVouchers.get(0);
stuDigitalDebtVoucher.setFactoringFinancingAmount(new BigDecimal(0));
stuDigitalDebtVoucherMapper.updateByPrimaryKey(stuDigitalDebtVoucher);
}
@Override
public void smartContracts(String userId) {
//智能合约执行兑换代币额、可用代币额数字变为0 一级供应商、二级供应商的所有相关账户数字都是0保理商代币资产是0
// TODO: 2024/4/7 1、兑换代币额、可用代币额数字变为0
StuDigitalDebtVoucherExample debtVoucherExample=new StuDigitalDebtVoucherExample();
debtVoucherExample.createCriteria().andUserIdEqualTo(userId);
List<StuDigitalDebtVoucher> stuDigitalDebtVouchers = stuDigitalDebtVoucherMapper.selectByExample(debtVoucherExample);
if(stuDigitalDebtVouchers.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"用户未生成债权凭证");
}
StuDigitalDebtVoucher stuDigitalDebtVoucher = stuDigitalDebtVouchers.get(0);
stuDigitalDebtVoucher.setExchangeTokenAmount(new BigDecimal(0));
stuDigitalDebtVoucher.setRemainingAmount(new BigDecimal(0));
stuDigitalDebtVoucherMapper.updateByPrimaryKey(stuDigitalDebtVoucher);
// TODO: 2024/4/7 2、一级供应商、二级供应商的所有相关账户数字都是0
//查询一级供应商
stuJoinNodeExample joinNodeExample1=new stuJoinNodeExample();
joinNodeExample1.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(2);
List<stuJoinNode> stuJoinNodes1 = stuJoinNodeMapper.selectByExample(joinNodeExample1);
if(stuJoinNodes1.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"一级供应商未加入节点");
}
stuJoinNode stuJoinNode1 = stuJoinNodes1.get(0);
stuJoinNode1.setAccountReceive(String.valueOf(0));
stuJoinNode1.setAccountPay(String.valueOf(0));
stuJoinNode1.setTokenAsset(String.valueOf(0));
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode1);
//查询二级供应商
stuJoinNodeExample joinNodeExample2=new stuJoinNodeExample();
joinNodeExample2.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(3);
List<stuJoinNode> stuJoinNodes2 = stuJoinNodeMapper.selectByExample(joinNodeExample2);
if(stuJoinNodes2.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"二级供应商未加入节点");
}
stuJoinNode stuJoinNode2 = stuJoinNodes2.get(0);
stuJoinNode2.setAccountReceive(String.valueOf(0));
stuJoinNode2.setAccountPay(String.valueOf(0));
stuJoinNode2.setTokenAsset(String.valueOf(0));
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode2);
// TODO: 2024/4/7 3、保理商代币资产是0
//查询保理商
stuJoinNodeExample joinNodeExample=new stuJoinNodeExample();
joinNodeExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(4);
List<stuJoinNode> stuJoinNodes = stuJoinNodeMapper.selectByExample(joinNodeExample);
if(stuJoinNodes.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"保理商未加入节点");
}
stuJoinNode stuJoinNode = stuJoinNodes.get(0);
stuJoinNode.setTokenAsset(String.valueOf(0));
stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode);
}
}

@ -0,0 +1,529 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sztzjy.block_finance.mappers.StuDigitalDebtVoucherMapper">
<resultMap id="BaseResultMap" type="com.sztzjy.block_finance.entity.StuDigitalDebtVoucher">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="hash_code" jdbcType="VARCHAR" property="hashCode" />
<result column="issuing_part" jdbcType="VARCHAR" property="issuingPart" />
<result column="issuing_public_key" jdbcType="VARCHAR" property="issuingPublicKey" />
<result column="certificate_part" jdbcType="VARCHAR" property="certificatePart" />
<result column="certificate_part_public_key" jdbcType="VARCHAR" property="certificatePartPublicKey" />
<result column="acceptor_part" jdbcType="VARCHAR" property="acceptorPart" />
<result column="acceptor_part_public_key" jdbcType="VARCHAR" property="acceptorPartPublicKey" />
<result column="bond_amount" jdbcType="VARCHAR" property="bondAmount" />
<result column="bond_amount_up" jdbcType="VARCHAR" property="bondAmountUp" />
<result column="note" jdbcType="VARCHAR" property="note" />
<result column="date_confirm" jdbcType="TIMESTAMP" property="dateConfirm" />
<result column="signature_confirm" jdbcType="VARCHAR" property="signatureConfirm" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="excessive" jdbcType="VARCHAR" property="excessive" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="encry_state" jdbcType="INTEGER" property="encryState" />
<result column="decry_state" jdbcType="INTEGER" property="decryState" />
<result column="supplier_digital_signature" jdbcType="VARCHAR" property="supplierDigitalSignature" />
<result column="import_factor_digital_signature" jdbcType="VARCHAR" property="importFactorDigitalSignature" />
<result column="core_enterprises_digital_signature" jdbcType="VARCHAR" property="coreEnterprisesDigitalSignature" />
<result column="factoring_financing_amount" jdbcType="DECIMAL" property="factoringFinancingAmount" />
<result column="exchange_token_amount" jdbcType="DECIMAL" property="exchangeTokenAmount" />
<result column="remaining_amount" jdbcType="DECIMAL" property="remainingAmount" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, hash_code, issuing_part, issuing_public_key, certificate_part, certificate_part_public_key,
acceptor_part, acceptor_part_public_key, bond_amount, bond_amount_up, note, date_confirm,
signature_confirm, create_time, update_time, excessive, user_id, encry_state, decry_state,
supplier_digital_signature, import_factor_digital_signature, core_enterprises_digital_signature,
factoring_financing_amount, exchange_token_amount, remaining_amount
</sql>
<select id="selectByExample" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucherExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from stu_digital_debt_voucher
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from stu_digital_debt_voucher
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from stu_digital_debt_voucher
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucherExample">
delete from stu_digital_debt_voucher
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucher">
insert into stu_digital_debt_voucher (id, hash_code, issuing_part,
issuing_public_key, certificate_part, certificate_part_public_key,
acceptor_part, acceptor_part_public_key, bond_amount,
bond_amount_up, note, date_confirm,
signature_confirm, create_time, update_time,
excessive, user_id, encry_state,
decry_state, supplier_digital_signature, import_factor_digital_signature,
core_enterprises_digital_signature, factoring_financing_amount,
exchange_token_amount, remaining_amount)
values (#{id,jdbcType=VARCHAR}, #{hashCode,jdbcType=VARCHAR}, #{issuingPart,jdbcType=VARCHAR},
#{issuingPublicKey,jdbcType=VARCHAR}, #{certificatePart,jdbcType=VARCHAR}, #{certificatePartPublicKey,jdbcType=VARCHAR},
#{acceptorPart,jdbcType=VARCHAR}, #{acceptorPartPublicKey,jdbcType=VARCHAR}, #{bondAmount,jdbcType=VARCHAR},
#{bondAmountUp,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{dateConfirm,jdbcType=TIMESTAMP},
#{signatureConfirm,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{excessive,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{encryState,jdbcType=INTEGER},
#{decryState,jdbcType=INTEGER}, #{supplierDigitalSignature,jdbcType=VARCHAR}, #{importFactorDigitalSignature,jdbcType=VARCHAR},
#{coreEnterprisesDigitalSignature,jdbcType=VARCHAR}, #{factoringFinancingAmount,jdbcType=DECIMAL},
#{exchangeTokenAmount,jdbcType=DECIMAL}, #{remainingAmount,jdbcType=DECIMAL})
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucher">
insert into stu_digital_debt_voucher
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="hashCode != null">
hash_code,
</if>
<if test="issuingPart != null">
issuing_part,
</if>
<if test="issuingPublicKey != null">
issuing_public_key,
</if>
<if test="certificatePart != null">
certificate_part,
</if>
<if test="certificatePartPublicKey != null">
certificate_part_public_key,
</if>
<if test="acceptorPart != null">
acceptor_part,
</if>
<if test="acceptorPartPublicKey != null">
acceptor_part_public_key,
</if>
<if test="bondAmount != null">
bond_amount,
</if>
<if test="bondAmountUp != null">
bond_amount_up,
</if>
<if test="note != null">
note,
</if>
<if test="dateConfirm != null">
date_confirm,
</if>
<if test="signatureConfirm != null">
signature_confirm,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="excessive != null">
excessive,
</if>
<if test="userId != null">
user_id,
</if>
<if test="encryState != null">
encry_state,
</if>
<if test="decryState != null">
decry_state,
</if>
<if test="supplierDigitalSignature != null">
supplier_digital_signature,
</if>
<if test="importFactorDigitalSignature != null">
import_factor_digital_signature,
</if>
<if test="coreEnterprisesDigitalSignature != null">
core_enterprises_digital_signature,
</if>
<if test="factoringFinancingAmount != null">
factoring_financing_amount,
</if>
<if test="exchangeTokenAmount != null">
exchange_token_amount,
</if>
<if test="remainingAmount != null">
remaining_amount,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="hashCode != null">
#{hashCode,jdbcType=VARCHAR},
</if>
<if test="issuingPart != null">
#{issuingPart,jdbcType=VARCHAR},
</if>
<if test="issuingPublicKey != null">
#{issuingPublicKey,jdbcType=VARCHAR},
</if>
<if test="certificatePart != null">
#{certificatePart,jdbcType=VARCHAR},
</if>
<if test="certificatePartPublicKey != null">
#{certificatePartPublicKey,jdbcType=VARCHAR},
</if>
<if test="acceptorPart != null">
#{acceptorPart,jdbcType=VARCHAR},
</if>
<if test="acceptorPartPublicKey != null">
#{acceptorPartPublicKey,jdbcType=VARCHAR},
</if>
<if test="bondAmount != null">
#{bondAmount,jdbcType=VARCHAR},
</if>
<if test="bondAmountUp != null">
#{bondAmountUp,jdbcType=VARCHAR},
</if>
<if test="note != null">
#{note,jdbcType=VARCHAR},
</if>
<if test="dateConfirm != null">
#{dateConfirm,jdbcType=TIMESTAMP},
</if>
<if test="signatureConfirm != null">
#{signatureConfirm,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="excessive != null">
#{excessive,jdbcType=VARCHAR},
</if>
<if test="userId != null">
#{userId,jdbcType=VARCHAR},
</if>
<if test="encryState != null">
#{encryState,jdbcType=INTEGER},
</if>
<if test="decryState != null">
#{decryState,jdbcType=INTEGER},
</if>
<if test="supplierDigitalSignature != null">
#{supplierDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="importFactorDigitalSignature != null">
#{importFactorDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="coreEnterprisesDigitalSignature != null">
#{coreEnterprisesDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="factoringFinancingAmount != null">
#{factoringFinancingAmount,jdbcType=DECIMAL},
</if>
<if test="exchangeTokenAmount != null">
#{exchangeTokenAmount,jdbcType=DECIMAL},
</if>
<if test="remainingAmount != null">
#{remainingAmount,jdbcType=DECIMAL},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucherExample" resultType="java.lang.Long">
select count(*) from stu_digital_debt_voucher
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update stu_digital_debt_voucher
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.hashCode != null">
hash_code = #{record.hashCode,jdbcType=VARCHAR},
</if>
<if test="record.issuingPart != null">
issuing_part = #{record.issuingPart,jdbcType=VARCHAR},
</if>
<if test="record.issuingPublicKey != null">
issuing_public_key = #{record.issuingPublicKey,jdbcType=VARCHAR},
</if>
<if test="record.certificatePart != null">
certificate_part = #{record.certificatePart,jdbcType=VARCHAR},
</if>
<if test="record.certificatePartPublicKey != null">
certificate_part_public_key = #{record.certificatePartPublicKey,jdbcType=VARCHAR},
</if>
<if test="record.acceptorPart != null">
acceptor_part = #{record.acceptorPart,jdbcType=VARCHAR},
</if>
<if test="record.acceptorPartPublicKey != null">
acceptor_part_public_key = #{record.acceptorPartPublicKey,jdbcType=VARCHAR},
</if>
<if test="record.bondAmount != null">
bond_amount = #{record.bondAmount,jdbcType=VARCHAR},
</if>
<if test="record.bondAmountUp != null">
bond_amount_up = #{record.bondAmountUp,jdbcType=VARCHAR},
</if>
<if test="record.note != null">
note = #{record.note,jdbcType=VARCHAR},
</if>
<if test="record.dateConfirm != null">
date_confirm = #{record.dateConfirm,jdbcType=TIMESTAMP},
</if>
<if test="record.signatureConfirm != null">
signature_confirm = #{record.signatureConfirm,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.excessive != null">
excessive = #{record.excessive,jdbcType=VARCHAR},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=VARCHAR},
</if>
<if test="record.encryState != null">
encry_state = #{record.encryState,jdbcType=INTEGER},
</if>
<if test="record.decryState != null">
decry_state = #{record.decryState,jdbcType=INTEGER},
</if>
<if test="record.supplierDigitalSignature != null">
supplier_digital_signature = #{record.supplierDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="record.importFactorDigitalSignature != null">
import_factor_digital_signature = #{record.importFactorDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="record.coreEnterprisesDigitalSignature != null">
core_enterprises_digital_signature = #{record.coreEnterprisesDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="record.factoringFinancingAmount != null">
factoring_financing_amount = #{record.factoringFinancingAmount,jdbcType=DECIMAL},
</if>
<if test="record.exchangeTokenAmount != null">
exchange_token_amount = #{record.exchangeTokenAmount,jdbcType=DECIMAL},
</if>
<if test="record.remainingAmount != null">
remaining_amount = #{record.remainingAmount,jdbcType=DECIMAL},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update stu_digital_debt_voucher
set id = #{record.id,jdbcType=VARCHAR},
hash_code = #{record.hashCode,jdbcType=VARCHAR},
issuing_part = #{record.issuingPart,jdbcType=VARCHAR},
issuing_public_key = #{record.issuingPublicKey,jdbcType=VARCHAR},
certificate_part = #{record.certificatePart,jdbcType=VARCHAR},
certificate_part_public_key = #{record.certificatePartPublicKey,jdbcType=VARCHAR},
acceptor_part = #{record.acceptorPart,jdbcType=VARCHAR},
acceptor_part_public_key = #{record.acceptorPartPublicKey,jdbcType=VARCHAR},
bond_amount = #{record.bondAmount,jdbcType=VARCHAR},
bond_amount_up = #{record.bondAmountUp,jdbcType=VARCHAR},
note = #{record.note,jdbcType=VARCHAR},
date_confirm = #{record.dateConfirm,jdbcType=TIMESTAMP},
signature_confirm = #{record.signatureConfirm,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
excessive = #{record.excessive,jdbcType=VARCHAR},
user_id = #{record.userId,jdbcType=VARCHAR},
encry_state = #{record.encryState,jdbcType=INTEGER},
decry_state = #{record.decryState,jdbcType=INTEGER},
supplier_digital_signature = #{record.supplierDigitalSignature,jdbcType=VARCHAR},
import_factor_digital_signature = #{record.importFactorDigitalSignature,jdbcType=VARCHAR},
core_enterprises_digital_signature = #{record.coreEnterprisesDigitalSignature,jdbcType=VARCHAR},
factoring_financing_amount = #{record.factoringFinancingAmount,jdbcType=DECIMAL},
exchange_token_amount = #{record.exchangeTokenAmount,jdbcType=DECIMAL},
remaining_amount = #{record.remainingAmount,jdbcType=DECIMAL}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucher">
update stu_digital_debt_voucher
<set>
<if test="hashCode != null">
hash_code = #{hashCode,jdbcType=VARCHAR},
</if>
<if test="issuingPart != null">
issuing_part = #{issuingPart,jdbcType=VARCHAR},
</if>
<if test="issuingPublicKey != null">
issuing_public_key = #{issuingPublicKey,jdbcType=VARCHAR},
</if>
<if test="certificatePart != null">
certificate_part = #{certificatePart,jdbcType=VARCHAR},
</if>
<if test="certificatePartPublicKey != null">
certificate_part_public_key = #{certificatePartPublicKey,jdbcType=VARCHAR},
</if>
<if test="acceptorPart != null">
acceptor_part = #{acceptorPart,jdbcType=VARCHAR},
</if>
<if test="acceptorPartPublicKey != null">
acceptor_part_public_key = #{acceptorPartPublicKey,jdbcType=VARCHAR},
</if>
<if test="bondAmount != null">
bond_amount = #{bondAmount,jdbcType=VARCHAR},
</if>
<if test="bondAmountUp != null">
bond_amount_up = #{bondAmountUp,jdbcType=VARCHAR},
</if>
<if test="note != null">
note = #{note,jdbcType=VARCHAR},
</if>
<if test="dateConfirm != null">
date_confirm = #{dateConfirm,jdbcType=TIMESTAMP},
</if>
<if test="signatureConfirm != null">
signature_confirm = #{signatureConfirm,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="excessive != null">
excessive = #{excessive,jdbcType=VARCHAR},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=VARCHAR},
</if>
<if test="encryState != null">
encry_state = #{encryState,jdbcType=INTEGER},
</if>
<if test="decryState != null">
decry_state = #{decryState,jdbcType=INTEGER},
</if>
<if test="supplierDigitalSignature != null">
supplier_digital_signature = #{supplierDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="importFactorDigitalSignature != null">
import_factor_digital_signature = #{importFactorDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="coreEnterprisesDigitalSignature != null">
core_enterprises_digital_signature = #{coreEnterprisesDigitalSignature,jdbcType=VARCHAR},
</if>
<if test="factoringFinancingAmount != null">
factoring_financing_amount = #{factoringFinancingAmount,jdbcType=DECIMAL},
</if>
<if test="exchangeTokenAmount != null">
exchange_token_amount = #{exchangeTokenAmount,jdbcType=DECIMAL},
</if>
<if test="remainingAmount != null">
remaining_amount = #{remainingAmount,jdbcType=DECIMAL},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.sztzjy.block_finance.entity.StuDigitalDebtVoucher">
update stu_digital_debt_voucher
set hash_code = #{hashCode,jdbcType=VARCHAR},
issuing_part = #{issuingPart,jdbcType=VARCHAR},
issuing_public_key = #{issuingPublicKey,jdbcType=VARCHAR},
certificate_part = #{certificatePart,jdbcType=VARCHAR},
certificate_part_public_key = #{certificatePartPublicKey,jdbcType=VARCHAR},
acceptor_part = #{acceptorPart,jdbcType=VARCHAR},
acceptor_part_public_key = #{acceptorPartPublicKey,jdbcType=VARCHAR},
bond_amount = #{bondAmount,jdbcType=VARCHAR},
bond_amount_up = #{bondAmountUp,jdbcType=VARCHAR},
note = #{note,jdbcType=VARCHAR},
date_confirm = #{dateConfirm,jdbcType=TIMESTAMP},
signature_confirm = #{signatureConfirm,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
excessive = #{excessive,jdbcType=VARCHAR},
user_id = #{userId,jdbcType=VARCHAR},
encry_state = #{encryState,jdbcType=INTEGER},
decry_state = #{decryState,jdbcType=INTEGER},
supplier_digital_signature = #{supplierDigitalSignature,jdbcType=VARCHAR},
import_factor_digital_signature = #{importFactorDigitalSignature,jdbcType=VARCHAR},
core_enterprises_digital_signature = #{coreEnterprisesDigitalSignature,jdbcType=VARCHAR},
factoring_financing_amount = #{factoringFinancingAmount,jdbcType=DECIMAL},
exchange_token_amount = #{exchangeTokenAmount,jdbcType=DECIMAL},
remaining_amount = #{remainingAmount,jdbcType=DECIMAL}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

@ -14,9 +14,13 @@
<result column="discount_display" jdbcType="INTEGER" property="discountDisplay" />
<result column="supplier_display" jdbcType="INTEGER" property="supplierDisplay" />
<result column="core_enterprise_display" jdbcType="INTEGER" property="coreEnterpriseDisplay" />
<result column="core_enterprise_download_status" jdbcType="INTEGER" property="coreEnterpriseDownloadStatus" />
<result column="core_enterprise_upload_status" jdbcType="INTEGER" property="coreEnterpriseUploadStatus" />
<result column="core_enterprise_receive_status" jdbcType="INTEGER" property="coreEnterpriseReceiveStatus" />
<result column="factoring_company_display" jdbcType="INTEGER" property="factoringCompanyDisplay" />
<result column="factoring_companies_receive_status" jdbcType="INTEGER" property="factoringCompaniesReceiveStatus" />
<result column="factoring_download_status" jdbcType="INTEGER" property="factoringDownloadStatus" />
<result column="factoring_upload_status" jdbcType="INTEGER" property="factoringUploadStatus" />
<result column="read_status" jdbcType="INTEGER" property="readStatus" />
<result column="download_status" jdbcType="INTEGER" property="downloadStatus" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@ -86,9 +90,10 @@
<sql id="Base_Column_List">
id, file_name, url, upload_status, information_status, information_status_encry,
signature_verification_status_encry, signature_verification_status, user_id, discount_display,
supplier_display, core_enterprise_display, core_enterprise_receive_status, factoring_company_display,
factoring_companies_receive_status, read_status, download_status, create_time, update_time,
cryp_digest, information_ciphertext, sequence
supplier_display, core_enterprise_display, core_enterprise_download_status, core_enterprise_upload_status,
core_enterprise_receive_status, factoring_company_display, factoring_companies_receive_status,
factoring_download_status, factoring_upload_status, read_status, download_status,
create_time, update_time, cryp_digest, information_ciphertext, sequence
</sql>
<select id="selectByExample" parameterType="com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample" resultMap="BaseResultMap">
select
@ -125,8 +130,10 @@
upload_status, information_status, information_status_encry,
signature_verification_status_encry, signature_verification_status,
user_id, discount_display, supplier_display,
core_enterprise_display, core_enterprise_receive_status,
core_enterprise_display, core_enterprise_download_status,
core_enterprise_upload_status, core_enterprise_receive_status,
factoring_company_display, factoring_companies_receive_status,
factoring_download_status, factoring_upload_status,
read_status, download_status, create_time,
update_time, cryp_digest, information_ciphertext,
sequence)
@ -134,8 +141,10 @@
#{uploadStatus,jdbcType=INTEGER}, #{informationStatus,jdbcType=INTEGER}, #{informationStatusEncry,jdbcType=INTEGER},
#{signatureVerificationStatusEncry,jdbcType=INTEGER}, #{signatureVerificationStatus,jdbcType=INTEGER},
#{userId,jdbcType=VARCHAR}, #{discountDisplay,jdbcType=INTEGER}, #{supplierDisplay,jdbcType=INTEGER},
#{coreEnterpriseDisplay,jdbcType=INTEGER}, #{coreEnterpriseReceiveStatus,jdbcType=INTEGER},
#{coreEnterpriseDisplay,jdbcType=INTEGER}, #{coreEnterpriseDownloadStatus,jdbcType=INTEGER},
#{coreEnterpriseUploadStatus,jdbcType=INTEGER}, #{coreEnterpriseReceiveStatus,jdbcType=INTEGER},
#{factoringCompanyDisplay,jdbcType=INTEGER}, #{factoringCompaniesReceiveStatus,jdbcType=INTEGER},
#{factoringDownloadStatus,jdbcType=INTEGER}, #{factoringUploadStatus,jdbcType=INTEGER},
#{readStatus,jdbcType=INTEGER}, #{downloadStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{crypDigest,jdbcType=VARCHAR}, #{informationCiphertext,jdbcType=VARCHAR},
#{sequence,jdbcType=INTEGER})
@ -179,6 +188,12 @@
<if test="coreEnterpriseDisplay != null">
core_enterprise_display,
</if>
<if test="coreEnterpriseDownloadStatus != null">
core_enterprise_download_status,
</if>
<if test="coreEnterpriseUploadStatus != null">
core_enterprise_upload_status,
</if>
<if test="coreEnterpriseReceiveStatus != null">
core_enterprise_receive_status,
</if>
@ -188,6 +203,12 @@
<if test="factoringCompaniesReceiveStatus != null">
factoring_companies_receive_status,
</if>
<if test="factoringDownloadStatus != null">
factoring_download_status,
</if>
<if test="factoringUploadStatus != null">
factoring_upload_status,
</if>
<if test="readStatus != null">
read_status,
</if>
@ -247,6 +268,12 @@
<if test="coreEnterpriseDisplay != null">
#{coreEnterpriseDisplay,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseDownloadStatus != null">
#{coreEnterpriseDownloadStatus,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseUploadStatus != null">
#{coreEnterpriseUploadStatus,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseReceiveStatus != null">
#{coreEnterpriseReceiveStatus,jdbcType=INTEGER},
</if>
@ -256,6 +283,12 @@
<if test="factoringCompaniesReceiveStatus != null">
#{factoringCompaniesReceiveStatus,jdbcType=INTEGER},
</if>
<if test="factoringDownloadStatus != null">
#{factoringDownloadStatus,jdbcType=INTEGER},
</if>
<if test="factoringUploadStatus != null">
#{factoringUploadStatus,jdbcType=INTEGER},
</if>
<if test="readStatus != null">
#{readStatus,jdbcType=INTEGER},
</if>
@ -324,6 +357,12 @@
<if test="record.coreEnterpriseDisplay != null">
core_enterprise_display = #{record.coreEnterpriseDisplay,jdbcType=INTEGER},
</if>
<if test="record.coreEnterpriseDownloadStatus != null">
core_enterprise_download_status = #{record.coreEnterpriseDownloadStatus,jdbcType=INTEGER},
</if>
<if test="record.coreEnterpriseUploadStatus != null">
core_enterprise_upload_status = #{record.coreEnterpriseUploadStatus,jdbcType=INTEGER},
</if>
<if test="record.coreEnterpriseReceiveStatus != null">
core_enterprise_receive_status = #{record.coreEnterpriseReceiveStatus,jdbcType=INTEGER},
</if>
@ -333,6 +372,12 @@
<if test="record.factoringCompaniesReceiveStatus != null">
factoring_companies_receive_status = #{record.factoringCompaniesReceiveStatus,jdbcType=INTEGER},
</if>
<if test="record.factoringDownloadStatus != null">
factoring_download_status = #{record.factoringDownloadStatus,jdbcType=INTEGER},
</if>
<if test="record.factoringUploadStatus != null">
factoring_upload_status = #{record.factoringUploadStatus,jdbcType=INTEGER},
</if>
<if test="record.readStatus != null">
read_status = #{record.readStatus,jdbcType=INTEGER},
</if>
@ -373,9 +418,13 @@
discount_display = #{record.discountDisplay,jdbcType=INTEGER},
supplier_display = #{record.supplierDisplay,jdbcType=INTEGER},
core_enterprise_display = #{record.coreEnterpriseDisplay,jdbcType=INTEGER},
core_enterprise_download_status = #{record.coreEnterpriseDownloadStatus,jdbcType=INTEGER},
core_enterprise_upload_status = #{record.coreEnterpriseUploadStatus,jdbcType=INTEGER},
core_enterprise_receive_status = #{record.coreEnterpriseReceiveStatus,jdbcType=INTEGER},
factoring_company_display = #{record.factoringCompanyDisplay,jdbcType=INTEGER},
factoring_companies_receive_status = #{record.factoringCompaniesReceiveStatus,jdbcType=INTEGER},
factoring_download_status = #{record.factoringDownloadStatus,jdbcType=INTEGER},
factoring_upload_status = #{record.factoringUploadStatus,jdbcType=INTEGER},
read_status = #{record.readStatus,jdbcType=INTEGER},
download_status = #{record.downloadStatus,jdbcType=INTEGER},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
@ -423,6 +472,12 @@
<if test="coreEnterpriseDisplay != null">
core_enterprise_display = #{coreEnterpriseDisplay,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseDownloadStatus != null">
core_enterprise_download_status = #{coreEnterpriseDownloadStatus,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseUploadStatus != null">
core_enterprise_upload_status = #{coreEnterpriseUploadStatus,jdbcType=INTEGER},
</if>
<if test="coreEnterpriseReceiveStatus != null">
core_enterprise_receive_status = #{coreEnterpriseReceiveStatus,jdbcType=INTEGER},
</if>
@ -432,6 +487,12 @@
<if test="factoringCompaniesReceiveStatus != null">
factoring_companies_receive_status = #{factoringCompaniesReceiveStatus,jdbcType=INTEGER},
</if>
<if test="factoringDownloadStatus != null">
factoring_download_status = #{factoringDownloadStatus,jdbcType=INTEGER},
</if>
<if test="factoringUploadStatus != null">
factoring_upload_status = #{factoringUploadStatus,jdbcType=INTEGER},
</if>
<if test="readStatus != null">
read_status = #{readStatus,jdbcType=INTEGER},
</if>
@ -469,9 +530,13 @@
discount_display = #{discountDisplay,jdbcType=INTEGER},
supplier_display = #{supplierDisplay,jdbcType=INTEGER},
core_enterprise_display = #{coreEnterpriseDisplay,jdbcType=INTEGER},
core_enterprise_download_status = #{coreEnterpriseDownloadStatus,jdbcType=INTEGER},
core_enterprise_upload_status = #{coreEnterpriseUploadStatus,jdbcType=INTEGER},
core_enterprise_receive_status = #{coreEnterpriseReceiveStatus,jdbcType=INTEGER},
factoring_company_display = #{factoringCompanyDisplay,jdbcType=INTEGER},
factoring_companies_receive_status = #{factoringCompaniesReceiveStatus,jdbcType=INTEGER},
factoring_download_status = #{factoringDownloadStatus,jdbcType=INTEGER},
factoring_upload_status = #{factoringUploadStatus,jdbcType=INTEGER},
read_status = #{readStatus,jdbcType=INTEGER},
download_status = #{downloadStatus,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},

Loading…
Cancel
Save