ycl-common/src/main/java/com/ycl/utils/common/RandomUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/controller/TestController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/mapper/common/GeneratedCodeMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/resources/mapper/common/GeneratedCodeMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-common/src/main/java/com/ycl/utils/common/RandomUtils.java
@@ -21,6 +21,8 @@ */ private static final String FORMT_STRING = "888888"; private static final String FORMT_STRING_0 = "000000"; /** * 获取用户名 * @@ -38,6 +40,24 @@ * * @return4 */ public static String formatSign(Integer param, Integer lenght) { String str = Long.toString(param); int length = str.length() - lenght; if (length == 0) { return str; } else if (length < 0) { str = "0" + str; return FORMT_STRING_0.substring(0, Math.abs(length) - 1) + str; } else { return str.substring(length); } } /** * 格式化标记 * * @return4 */ private static String formatSign(long param) { String str = Long.toString(param); int length = str.length() - SIGN_LENGTH; ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java
@@ -1,32 +1,48 @@ 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位随机数,用于生成订单号 @@ -37,6 +53,7 @@ + DateUtils.getNowDate("HHmmss") + rand1 + rand2; return rqUID; } public static String getRqTradeNo(String channel) { // 6位随机数,用于生成交易号 String rand2 = RandomNumberGenerator.generateNumber(6); @@ -44,6 +61,7 @@ + DateUtils.getNowDate("HHmmss") + rand2; return rqUID; } public static String getSettleAccount(String memberId) { // md5 String subStr = memberId.substring(memberId.length() - 12, @@ -109,11 +127,9 @@ } /** * * 功能描述:去除字符串首部为"0"字符 * * @param str * 传入需要转换的字符串 * @param str 传入需要转换的字符串 * @return 转换后的字符串 */ public static String removeZero(String str) { @@ -140,11 +156,9 @@ } /** * * 功能描述:金额字符串转换:单位分转成单元 * * @param str * 传入需要转换的金额字符串 * @param str 传入需要转换的金额字符串 * @return 转换后的金额字符串 */ public static String fenToYuan(Object o) { @@ -188,11 +202,9 @@ } /** * * 功能描述:金额字符串转换:单位元转成单分 * * @param str * 传入需要转换的金额字符串 * @param str 传入需要转换的金额字符串 * @return 转换后的金额字符串 */ public static String yuanToFen(Object o) { @@ -250,10 +262,53 @@ } } /** * 创建商铺编号 * 店铺编号:年月日 + 序号 例: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")); } } ycl-platform/src/main/java/com/ycl/controller/TestController.java
New file @@ -0,0 +1,52 @@ package com.ycl.controller; import com.alibaba.druid.util.StringUtils; import com.ycl.api.CommonResult; import com.ycl.remote.dto.EventAddParamDto; import com.ycl.remote.dto.EventProcessParamDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @Api(tags = "系统管理-测试") @RestController @RequestMapping("/api/unauthorized/external/event") public class TestController { @ApiOperation("添加") @PostMapping("/add") public String add(@RequestBody EventAddParamDto book) { return "{\n" + " \"code\": 0,\n" + " \"msg\": \"OK\",\n" + " \"result\": {\n" + " \"taskcode\": \"202034150102280004\"\n" + "}\n" + "}\n"; } @ApiOperation("详情") @PostMapping("/process") public String process(@RequestBody EventProcessParamDto book) { return "{\n" + "\t\"msg\": \"OK\",\n" + "\t\"code\": 0,\n" + "\t\"result\": {\n" + "\t\t\"taskcode\": \"202034150102280004\",\n" + "\t\t\"statusName\": \"已结案\",\n" + "\t\t\"dealTime\": \"2020-05-25 12:15:30\",\n" + "\t\t\"dealMsg\": \"已处理\",\n" + "\t\t\"hcczImages\": [\n" + "\t\t\t\" http:// 183.246.199.93:10000/upload/file/2020/05/20/20200520153430691576.jpg\",\n" + "\t\t\t\" http:// 183.246.199.93:10000//upload/file/2020/05/20/20200520153439170369.jpg\",\n" + "\t\t\t\" http:// 183.246.199.93:10000//upload/file/2020/05/20/20200520153454125143.jpg\"\n" + "\t\t]\n" + "\t}\n" + "}"; } } ycl-platform/src/main/java/com/ycl/mapper/common/GeneratedCodeMapper.java
New file @@ -0,0 +1,16 @@ package com.ycl.mapper.common; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; /** * GeneratedCode 编码生成表 * * @version V1.0 * @author: AI * @date: 2022-10-10 15:38 **/ @Repository public interface GeneratedCodeMapper { Integer createNumber(@Param("ymd") String ymd, @Param("type") String type); } ycl-platform/src/main/resources/mapper/common/GeneratedCodeMapper.xml
New file @@ -0,0 +1,9 @@ <?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.ycl.mapper.common.GeneratedCodeMapper"> <select id="createNumber" resultType="java.lang.Integer"> {call p_create_code(#{ymd,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR})} </select> </mapper> ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
@@ -1,13 +1,37 @@ package com.ycl.sccgplatform; import com.ycl.common.util.UtilNumber; import com.ycl.service.caseHandler.IBaseCaseService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SccgPlatformApplicationTests { private IBaseCaseService baseCaseService; private UtilNumber utilNumber; @Autowired public void setBaseCaseService(IBaseCaseService baseCaseService) { this.baseCaseService = baseCaseService; } @Autowired public void setUtilNumber(UtilNumber utilNumber) { this.utilNumber = utilNumber; } @Test void contextLoads() { String msg = baseCaseService.processEvent(3); } @Test void createCode() { System.out.println(utilNumber.createShopCode()); System.out.println(utilNumber.createCaseCode()); } }