From e6e10141af7c033eeddb649c6d2d1ed93f55bf3f Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 10 十月 2022 16:09:43 +0800 Subject: [PATCH] 案件商铺编码 --- ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java | 505 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 280 insertions(+), 225 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java b/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java index 17429ba..2ffcc95 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java +++ b/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java @@ -1,259 +1,314 @@ 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浣嶉殢鏈烘暟,鐢ㄤ簬鐢熸垚璁㈠崟鍙� + public static String getCode(String type, int n) { + String code = type + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + RandomStringUtil.getRandomString(n, RandomStringUtil.ALL); + return code; + } - String rand1 = RandomNumberGenerator.generateNumber(4); - String rand2 = RandomNumberGenerator.generateNumber(6); + public static String getNumber(String type, int n) { + String code = type + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + RandomNumberGenerator.generateNumber(n); + return code; + } - String rqUID = channel + DateUtils.getNowDate("yyyyMMdd") - + DateUtils.getNowDate("HHmmss") + rand1 + rand2; - return rqUID; - } - public static String getRqTradeNo(String channel) { - // 6浣嶉殢鏈烘暟,鐢ㄤ簬鐢熸垚浜ゆ槗鍙� - String rand2 = RandomNumberGenerator.generateNumber(6); - String rqUID = channel + DateUtils.getNowDate("yyyyMMdd") - + DateUtils.getNowDate("HHmmss") + rand2; - return rqUID; - } - public static String getSettleAccount(String memberId) { - // md5 - String subStr = memberId.substring(memberId.length() - 12, - memberId.length()); - String md5Str = Md5.md5(Md5.md5(subStr)); + 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浣嶉殢鏈烘暟,鐢ㄤ簬鐢熸垚璁㈠崟鍙� + + String rand1 = RandomNumberGenerator.generateNumber(4); + String rand2 = RandomNumberGenerator.generateNumber(6); + + String rqUID = channel + DateUtils.getNowDate("yyyyMMdd") + + DateUtils.getNowDate("HHmmss") + rand1 + rand2; + return rqUID; + } + + public static String getRqTradeNo(String channel) { + // 6浣嶉殢鏈烘暟,鐢ㄤ簬鐢熸垚浜ゆ槗鍙� + String rand2 = RandomNumberGenerator.generateNumber(6); + String rqUID = channel + DateUtils.getNowDate("yyyyMMdd") + + DateUtils.getNowDate("HHmmss") + rand2; + return rqUID; + } + + public static String getSettleAccount(String memberId) { + // md5 + String subStr = memberId.substring(memberId.length() - 12, + memberId.length()); + String md5Str = Md5.md5(Md5.md5(subStr)); // String rand1 = RandomNumberGenerator.generateNumber(4); // String rand2 = RandomNumberGenerator.generateNumber(6); - String merchantId = subStr + md5Str.substring(0, 3); - return merchantId; + String merchantId = subStr + md5Str.substring(0, 3); + return merchantId; - } + } - public static String getShopQRCode(String memberId) { - // md5 - String rand1 = RandomNumberGenerator.generateNumber(4); - String rand2 = RandomNumberGenerator.generateNumber(6); - String shopQRCode = Md5.md5(memberId.substring(0, 12) + rand1 + rand2); - return shopQRCode; + public static String getShopQRCode(String memberId) { + // md5 + String rand1 = RandomNumberGenerator.generateNumber(4); + String rand2 = RandomNumberGenerator.generateNumber(6); + String shopQRCode = Md5.md5(memberId.substring(0, 12) + rand1 + rand2); + return shopQRCode; - } + } - public static String getMsgId() { - String rand1 = RandomNumberGenerator.generateNumber(4); - String rand2 = RandomNumberGenerator.generateNumber(4); + public static String getMsgId() { + String rand1 = RandomNumberGenerator.generateNumber(4); + String rand2 = RandomNumberGenerator.generateNumber(4); - String msgId = "merchant" - + DateUtils.getNowDate("yyyyMMdd") - + DateUtils.getNowDate("HHmmss") + rand1 + rand2; - return msgId; + String msgId = "merchant" + + DateUtils.getNowDate("yyyyMMdd") + + DateUtils.getNowDate("HHmmss") + rand1 + rand2; + return msgId; - } + } - public static String toSignStr(Object obj, Class<?> clazz) { - if (obj == null) { - return ""; - } - List<String> listStr = new ArrayList<String>(); + public static String toSignStr(Object obj, Class<?> clazz) { + if (obj == null) { + return ""; + } + List<String> listStr = new ArrayList<String>(); - Field[] fields = clazz.getDeclaredFields();// 鏍规嵁Class瀵硅薄鑾峰緱灞炴�� 绉佹湁鐨勪篃鍙互鑾峰緱 - try { - for (Field f : fields) { - f.setAccessible(true); // 璁剧疆浜涘睘鎬ф槸鍙互璁块棶鐨� - Object val = f.get(obj); // 寰楀埌姝ゅ睘鎬х殑鍊� - String name = f.getName(); // 寰楀埌姝ゅ睘鎬х殑鍚嶇О - if (!name.equals("sign") && CommonUtils.isNotEmpty(val)) { - listStr.add(name + "=" + val); - } - } + Field[] fields = clazz.getDeclaredFields();// 鏍规嵁Class瀵硅薄鑾峰緱灞炴�� 绉佹湁鐨勪篃鍙互鑾峰緱 + try { + for (Field f : fields) { + f.setAccessible(true); // 璁剧疆浜涘睘鎬ф槸鍙互璁块棶鐨� + Object val = f.get(obj); // 寰楀埌姝ゅ睘鎬х殑鍊� + String name = f.getName(); // 寰楀埌姝ゅ睘鎬х殑鍚嶇О + if (!name.equals("sign") && CommonUtils.isNotEmpty(val)) { + listStr.add(name + "=" + val); + } + } - } catch (IllegalAccessException e) { - } - // 鑺傜偣闂翠互&绗﹁繛鎺ワ紝褰㈡垚鏈�缁堝緟绛惧悕瀛楃涓� - Collections.sort(listStr); - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < listStr.size(); i++) { - String msg = listStr.get(i); - if (i > 0) { - sb.append("&"); - } - sb.append(msg); - } - return sb.toString(); - } + } catch (IllegalAccessException e) { + } + // 鑺傜偣闂翠互&绗﹁繛鎺ワ紝褰㈡垚鏈�缁堝緟绛惧悕瀛楃涓� + Collections.sort(listStr); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < listStr.size(); i++) { + String msg = listStr.get(i); + if (i > 0) { + sb.append("&"); + } + sb.append(msg); + } + return sb.toString(); + } - /** - * - * 鍔熻兘鎻忚堪锛氬幓闄ゅ瓧绗︿覆棣栭儴涓�"0"瀛楃 - * - * @param str - * 浼犲叆闇�瑕佽浆鎹㈢殑瀛楃涓� - * @return 杞崲鍚庣殑瀛楃涓� - */ - public static String removeZero(String str) { - char ch; - String result = ""; - if (str != null && str.trim().length() > 0 - && !str.trim().equalsIgnoreCase("null")) { - try { - for (int i = 0; i < str.length(); i++) { - ch = str.charAt(i); - if (ch != '0') { - result = str.substring(i); - break; - } - } - } catch (Exception e) { - result = ""; - } - } else { - result = ""; - } - return result; + /** + * 鍔熻兘鎻忚堪锛氬幓闄ゅ瓧绗︿覆棣栭儴涓�"0"瀛楃 + * + * @param str 浼犲叆闇�瑕佽浆鎹㈢殑瀛楃涓� + * @return 杞崲鍚庣殑瀛楃涓� + */ + public static String removeZero(String str) { + char ch; + String result = ""; + if (str != null && str.trim().length() > 0 + && !str.trim().equalsIgnoreCase("null")) { + try { + for (int i = 0; i < str.length(); i++) { + ch = str.charAt(i); + if (ch != '0') { + result = str.substring(i); + break; + } + } + } catch (Exception e) { + result = ""; + } + } else { + result = ""; + } + return result; - } + } - /** - * - * 鍔熻兘鎻忚堪锛氶噾棰濆瓧绗︿覆杞崲锛氬崟浣嶅垎杞垚鍗曞厓 - * - * @param str - * 浼犲叆闇�瑕佽浆鎹㈢殑閲戦瀛楃涓� - * @return 杞崲鍚庣殑閲戦瀛楃涓� - */ - public static String fenToYuan(Object o) { - if (o == null) - return "0.00"; - String s = o.toString(); - int len = -1; - StringBuilder sb = new StringBuilder(); - if (s != null && s.trim().length() > 0 && !s.equalsIgnoreCase("null")) { - s = removeZero(s); - if (s != null && s.trim().length() > 0 - && !s.equalsIgnoreCase("null")) { - len = s.length(); - int tmp = s.indexOf("-"); - if (tmp >= 0) { - if (len == 2) { - sb.append("-0.0").append(s.substring(1)); - } else if (len == 3) { - sb.append("-0.").append(s.substring(1)); - } else { - sb.append(s.substring(0, len - 2)).append(".") - .append(s.substring(len - 2)); - } - } else { - if (len == 1) { - sb.append("0.0").append(s); - } else if (len == 2) { - sb.append("0.").append(s); - } else { - sb.append(s.substring(0, len - 2)).append(".") - .append(s.substring(len - 2)); - } - } - } else { - sb.append("0.00"); - } - } else { - sb.append("0.00"); - } - return sb.toString(); - } + /** + * 鍔熻兘鎻忚堪锛氶噾棰濆瓧绗︿覆杞崲锛氬崟浣嶅垎杞垚鍗曞厓 + * + * @param str 浼犲叆闇�瑕佽浆鎹㈢殑閲戦瀛楃涓� + * @return 杞崲鍚庣殑閲戦瀛楃涓� + */ + public static String fenToYuan(Object o) { + if (o == null) + return "0.00"; + String s = o.toString(); + int len = -1; + StringBuilder sb = new StringBuilder(); + if (s != null && s.trim().length() > 0 && !s.equalsIgnoreCase("null")) { + s = removeZero(s); + if (s != null && s.trim().length() > 0 + && !s.equalsIgnoreCase("null")) { + len = s.length(); + int tmp = s.indexOf("-"); + if (tmp >= 0) { + if (len == 2) { + sb.append("-0.0").append(s.substring(1)); + } else if (len == 3) { + sb.append("-0.").append(s.substring(1)); + } else { + sb.append(s.substring(0, len - 2)).append(".") + .append(s.substring(len - 2)); + } + } else { + if (len == 1) { + sb.append("0.0").append(s); + } else if (len == 2) { + sb.append("0.").append(s); + } else { + sb.append(s.substring(0, len - 2)).append(".") + .append(s.substring(len - 2)); + } + } + } else { + sb.append("0.00"); + } + } else { + sb.append("0.00"); + } + return sb.toString(); + } - /** - * - * 鍔熻兘鎻忚堪锛氶噾棰濆瓧绗︿覆杞崲锛氬崟浣嶅厓杞垚鍗曞垎 - * - * @param str - * 浼犲叆闇�瑕佽浆鎹㈢殑閲戦瀛楃涓� - * @return 杞崲鍚庣殑閲戦瀛楃涓� - */ - public static String yuanToFen(Object o) { - if (o == null) - return "0"; - String s = o.toString(); - int posIndex = -1; - String str = ""; - StringBuilder sb = new StringBuilder(); - if (s != null && s.trim().length() > 0 && !s.equalsIgnoreCase("null")) { - posIndex = s.indexOf("."); - if (posIndex > 0) { - int len = s.length(); - if (len == posIndex + 1) { - str = s.substring(0, posIndex); - if (str == "0") { - str = ""; - } - sb.append(str).append("00"); - } else if (len == posIndex + 2) { - str = s.substring(0, posIndex); - if (str == "0") { - str = ""; - } - sb.append(str) - .append(s.substring(posIndex + 1, posIndex + 2)) - .append("0"); - } else if (len == posIndex + 3) { - str = s.substring(0, posIndex); - if (str == "0") { - str = ""; - } - sb.append(str).append( - s.substring(posIndex + 1, posIndex + 3)); - } else { - str = s.substring(0, posIndex); - if (str == "0") { - str = ""; - } - sb.append(str).append( - s.substring(posIndex + 1, posIndex + 3)); - } - } else { - sb.append(s).append("00"); - } - } else { - sb.append("0"); - } - str = removeZero(sb.toString()); - if (str != null && str.trim().length() > 0 - && !str.trim().equalsIgnoreCase("null")) { - return str; - } else { - return "0"; - } - } + /** + * 鍔熻兘鎻忚堪锛氶噾棰濆瓧绗︿覆杞崲锛氬崟浣嶅厓杞垚鍗曞垎 + * + * @param str 浼犲叆闇�瑕佽浆鎹㈢殑閲戦瀛楃涓� + * @return 杞崲鍚庣殑閲戦瀛楃涓� + */ + public static String yuanToFen(Object o) { + if (o == null) + return "0"; + String s = o.toString(); + int posIndex = -1; + String str = ""; + StringBuilder sb = new StringBuilder(); + if (s != null && s.trim().length() > 0 && !s.equalsIgnoreCase("null")) { + posIndex = s.indexOf("."); + if (posIndex > 0) { + int len = s.length(); + if (len == posIndex + 1) { + str = s.substring(0, posIndex); + if (str == "0") { + str = ""; + } + sb.append(str).append("00"); + } else if (len == posIndex + 2) { + str = s.substring(0, posIndex); + if (str == "0") { + str = ""; + } + sb.append(str) + .append(s.substring(posIndex + 1, posIndex + 2)) + .append("0"); + } else if (len == posIndex + 3) { + str = s.substring(0, posIndex); + if (str == "0") { + str = ""; + } + sb.append(str).append( + s.substring(posIndex + 1, posIndex + 3)); + } else { + str = s.substring(0, posIndex); + if (str == "0") { + str = ""; + } + sb.append(str).append( + s.substring(posIndex + 1, posIndex + 3)); + } + } else { + sb.append(s).append("00"); + } + } else { + sb.append("0"); + } + str = removeZero(sb.toString()); + if (str != null && str.trim().length() > 0 + && !str.trim().equalsIgnoreCase("null")) { + return str; + } else { + return "0"; + } + } + /** + * 鍒涘缓鍟嗛摵缂栧彿 + * 搴楅摵缂栧彿锛氬勾鏈堟棩 + 搴忓彿 渚嬶細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(); + } - public static void main(String[] args) { - System.out.println(getRqUID("1")); + private static String getYMD() { + DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMdd"); + return dtf2.format(LocalDateTime.now()); + } - } + public static void main(String[] args) { + + } } -- Gitblit v1.8.0