| | |
| | | package com.ycl.common.util; |
| | | |
| | | |
| | | import com.ycl.mapper.common.GeneratedCodeMapper; |
| | | import com.ycl.utils.common.RandomUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Component |
| | | public class UtilNumber { |
| | | private GeneratedCodeMapper generatedCodeMapper; |
| | | |
| | | @Autowired |
| | | public void setGeneratedCodeMapper(GeneratedCodeMapper generatedCodeMapper) { |
| | | this.generatedCodeMapper = generatedCodeMapper; |
| | | } |
| | | |
| | | public static String getCode(String type ,int n) { |
| | | String code = type + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())+RandomStringUtil.getRandomString(n,RandomStringUtil.ALL); |
| | | return code; |
| | | } |
| | | |
| | | public static String getNumber(String type ,int n) { |
| | | String code = type + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())+RandomNumberGenerator.generateNumber(n); |
| | | return code; |
| | | } |
| | | |
| | | public static String getApplicationCode(String type ,int n) { |
| | | String code = type+getApplicationSecret(n); |
| | | return code; |
| | | } |
| | | |
| | | public static String getApplicationSecret(int n) { |
| | | String code = RandomStringUtil.getRandomString(n,RandomStringUtil.CAPITAL_NUM_LOWER); |
| | | return code; |
| | | } |
| | | |
| | | public static String getRqUID(String channel) { |
| | | // 6位随机数,用于生成订单号 |
| | | |
| | |
| | | + DateUtils.getNowDate("HHmmss") + rand1 + rand2; |
| | | return rqUID; |
| | | } |
| | | |
| | | public static String getRqTradeNo(String channel) { |
| | | // 6位随机数,用于生成交易号 |
| | | String rand2 = RandomNumberGenerator.generateNumber(6); |
| | |
| | | + DateUtils.getNowDate("HHmmss") + rand2; |
| | | return rqUID; |
| | | } |
| | | |
| | | public static String getSettleAccount(String memberId) { |
| | | // md5 |
| | | String subStr = memberId.substring(memberId.length() - 12, |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 功能描述:去除字符串首部为"0"字符 |
| | | * |
| | | * @param str |
| | | * 传入需要转换的字符串 |
| | | * @param str 传入需要转换的字符串 |
| | | * @return 转换后的字符串 |
| | | */ |
| | | public static String removeZero(String str) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 功能描述:金额字符串转换:单位分转成单元 |
| | | * |
| | | * @param str |
| | | * 传入需要转换的金额字符串 |
| | | * @param str 传入需要转换的金额字符串 |
| | | * @return 转换后的金额字符串 |
| | | */ |
| | | public static String fenToYuan(Object o) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 功能描述:金额字符串转换:单位元转成单分 |
| | | * |
| | | * @param str |
| | | * 传入需要转换的金额字符串 |
| | | * @param str 传入需要转换的金额字符串 |
| | | * @return 转换后的金额字符串 |
| | | */ |
| | | public static String yuanToFen(Object o) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 创建商铺编号 |
| | | * 店铺编号:年月日 + 序号 例:202210100001 |
| | | * |
| | | * @param |
| | | * @return java.lang.String |
| | | * @author AI |
| | | * @date 2022-10-10 15:43 |
| | | */ |
| | | public String createShopCode() { |
| | | String ymd = getYMD(); |
| | | Integer number = generatedCodeMapper.createNumber(ymd, "shop"); |
| | | String numberStr = RandomUtils.formatSign(number, 4); |
| | | return getYMD() + numberStr; |
| | | } |
| | | |
| | | /** |
| | | * 创建案件编号 |
| | | * 案件编号规则:年份 + 区县编号 + 月日 + 序号 例:202233112310100001 |
| | | * |
| | | * @param |
| | | * @return java.lang.String |
| | | * @author AI |
| | | * @date 2022-10-10 15:43 |
| | | */ |
| | | public String createCaseCode() { |
| | | String ymd = getYMD(); |
| | | Integer number = generatedCodeMapper.createNumber(ymd, "case"); |
| | | String numberStr = RandomUtils.formatSign(number, 4); |
| | | String year = String.valueOf(LocalDateTime.now().getYear()); |
| | | String areaCode = "331123"; |
| | | DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("MMdd"); |
| | | String md = dtf2.format(LocalDateTime.now()); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.append(year); |
| | | stringBuilder.append(areaCode); |
| | | stringBuilder.append(md); |
| | | stringBuilder.append(numberStr); |
| | | return stringBuilder.toString(); |
| | | } |
| | | |
| | | private static String getYMD() { |
| | | DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMdd"); |
| | | return dtf2.format(LocalDateTime.now()); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(getRqUID("1")); |
| | | |
| | | } |
| | | } |