发表于: 2018-01-29 21:35:17

1 729


package com.ptteng.utils;

import HomeInterface.UserService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.stereotype.Repository;
import pojo.TUser;

import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
* Created by J.w on 2017/12/8.
* 功能描述:生成编号工具(用户编号、交易流水号、出借合同编号、债权协议编号)
*/
@Repository
public class NumberUtil {

//    @Resource
//    private UserService userService;
//    @Resource
//    private ProductService productService;
//    @Resource
//    private InvestService investService;
//    @Resource
//    private TransactService transactService;

   @FeignClient("pttengservice")
interface UserServiceC extends UserService{}


@Autowired
   UserServiceC userServiceC;

   //1、生成用户编号
   public String createUserNo() {
Date date = new Date();
       SimpleDateFormat getYear = new SimpleDateFormat("yyyy");

       String prefix = "UK";
       String year = getYear.format(date).substring(2);
       String separator = "10";

       TUser tUser = userServiceC.selectLastUser();

       if (tUser==null) {

String newSerialNumber = String.format("%06d", 1);

           return prefix + year + separator + newSerialNumber;

       } else {
//Long lastUid = tUser.getId();

           String lastUserNo = tUser.getUserNum();

           String lastSerialNumber = lastUserNo.substring(6);

           String newSerialNumber = String.format("%06d", Integer.valueOf(lastSerialNumber) + 1);

           return prefix + year + separator + newSerialNumber;
       }
}

/*//2、生成出借合同编号
   public String createLoanAgreementNo(Long pid) throws ServiceException, ServiceDaoException {
       Date date = new Date();
       SimpleDateFormat getYear = new SimpleDateFormat("yyyy");

       Product product = productService.getObjectById(pid);

       String prefix = "UK";
       String productAliase = product.getProductAliase();
       String year = getYear.format(date).substring(2);
       String separator = "10";

       List<Long> ids = investService.getInvestIds(0, Integer.MAX_VALUE);

       if (CollectionUtils.isEmpty(ids)) {

           String newSerialNumber = String.format("%06d", 1);

           return prefix + productAliase + year + separator + newSerialNumber;

       } else {
           Long lastInvestId = ids.get(0);
           String lastLoanAgreementNo = investService.getObjectById(lastInvestId).getLoanAgreementNo();

           String lastSerialNumber = lastLoanAgreementNo.substring(9);
           String newSerialNumber = String.format("%06d", Integer.valueOf(lastSerialNumber) + 1);

           return prefix + productAliase + year + separator + newSerialNumber;
       }
   }

   //3、生成债权协议编号
   public String createDebtAgreementNo() throws ServiceException, ServiceDaoException {
       Date date = new Date();
       SimpleDateFormat getYear = new SimpleDateFormat("yyyy");

       String prefix = "UK";
       String year = getYear.format(date).substring(2);
       String ZQ = "ZQ";
       String separator = "10";

       List<Long> ids = investService.getInvestIds(0, Integer.MAX_VALUE);

       if (CollectionUtils.isEmpty(ids)) {

           String newSerialNumber = String.format("%06d", 1);

           return prefix + ZQ + year + separator + newSerialNumber;

       } else {
           Long lastInvestId = ids.get(0);
           String lastDebtAgreementNo = investService.getObjectById(lastInvestId).getDebtAgreementNo();

           String lastSerialNumber = lastDebtAgreementNo.substring(9);
           String newSerialNumber = String.format("%06d", Integer.valueOf(lastSerialNumber) + 1);

           return prefix + ZQ + year + separator + newSerialNumber;
       }
   }

   //4、生成交易流水号
   public String createTransactNo() throws ServiceException, ServiceDaoException {
       Date date = new Date();
       SimpleDateFormat getTime = new SimpleDateFormat("yyyyMMddHHMMss");

       String time = getTime.format(date);

       List<Long> ids = transactService.getTransactIds(0, Integer.MAX_VALUE);

       if (CollectionUtils.isEmpty(ids)) {

           String newSerialNumber = String.format("%06d", 1);

           return time + newSerialNumber;

       } else {
           Long lastTransactId = ids.get(0);
           String lastTransactNo = transactService.getObjectById(lastTransactId).getTransactNo();

           String lastSerialNumber = lastTransactNo.substring(14);
           String newSerialNumber = String.format("%06d", Integer.valueOf(lastSerialNumber) + 1);

           return time + newSerialNumber;
       }
   }*/
}



返回列表 返回列表
评论

    分享到