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