From c4011ae4df3ef96b06aad910952c6d21ac971ee5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Tue, 10 Sep 2019 16:41:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BD=AF=E4=BB=B6=E9=80=82=E9=85=8D?= =?UTF-8?q?=E5=99=A8=20=E6=95=B0=E6=8D=AE=E6=BA=90=E9=80=82=E9=85=8D?= =?UTF-8?q?=E5=99=A8=20=E5=8D=95=E5=8F=B7=E7=94=9F=E6=88=90=E9=AB=98?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/base/ISynchronizedService.java | 23 +++++++++++++++++++ .../controller/base/WhiteController.java | 6 ++--- .../controller/busi/SysOrderNoRuleController.java | 12 ++++++---- .../serviceimpl/base/SynchronizedService.java | 26 ++++++++++++++++++++++ 4 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISynchronizedService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISynchronizedService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISynchronizedService.java new file mode 100644 index 0000000..317e832 --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISynchronizedService.java @@ -0,0 +1,23 @@ +package cn.estsh.i3plus.core.api.iservice.base; + +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import io.swagger.annotations.ApiOperation; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-09-03 13:59 + * @Modify: + **/ +public interface ISynchronizedService { + + /** + * 根据单号代码获取单号信息 + * @param code 单号代码 + * @return 单号信息 + */ + @ApiOperation(value = "根据code查询最新单号规则") + SysOrderNoRule nextOrderNo(String code); + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 8b39770..0a1b1a2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.base; +import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.*; @@ -18,7 +19,6 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -74,7 +74,7 @@ public class WhiteController extends CoreBaseController { private ISysDictionaryService dictionaryService; @Autowired - private ISysOrderNoRuleService sysOrderNoRuleService; + private ISynchronizedService synchronizedService; @Autowired private ISysOrganizeService sysOrganizeService; @@ -306,7 +306,7 @@ public class WhiteController extends CoreBaseController { try { ValidatorBean.checkNotNull(code, "code不能为空"); - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); + SysOrderNoRule sysOrderNoRule = synchronizedService.nextOrderNo(code); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index 5a758d3..b00e393 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; @@ -53,6 +54,9 @@ public class SysOrderNoRuleController extends CoreBaseController { private ISysOrderNoRuleService sysOrderNoRuleService; @Autowired + private ISynchronizedService synchronizedService; + + @Autowired private ISysConfigService sysConfigService; @Autowired @@ -382,11 +386,11 @@ public class SysOrderNoRuleController extends CoreBaseController { */ @GetMapping(value = "/get-order-no/{code}") @ApiOperation(value = "根据单号规则代码,生成单号") - public synchronized ResultBean getOrderNo(@PathVariable("code") String code) { + public ResultBean getOrderNo(@PathVariable("code") String code) { try { ValidatorBean.checkNotNull(code, "code不能为空"); - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); + SysOrderNoRule sysOrderNoRule = synchronizedService.nextOrderNo(code); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -403,14 +407,14 @@ public class SysOrderNoRuleController extends CoreBaseController { */ @GetMapping(value = "/get-order-no/{code}/{num}") @ApiOperation(value = "根据单号规则代码,生成单号") - public synchronized ResultBean getOrderNo(@PathVariable("code") String code,@PathVariable("num") Integer num) { + public ResultBean getOrderNo(@PathVariable("code") String code,@PathVariable("num") Integer num) { try { ValidatorBean.checkNotNull(code, "code不能为空"); ValidatorBean.checkNotZero(num,"次数不能为零"); List orderNoList = new ArrayList<>(); for (int i = 0; i < num; i++) { - orderNoList.add(sysOrderNoRuleService.doGetSysOrderNoRuleCode(code).getOrderNo()); + orderNoList.add(synchronizedService.nextOrderNo(code).getOrderNo()); } return ResultBean.success("操作成功").setResultList(orderNoList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java new file mode 100644 index 0000000..95904f8 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-09-03 14:00 + * @Modify: + **/ +@Service +public class SynchronizedService implements ISynchronizedService { + + @Autowired + private ISysOrderNoRuleService sysOrderNoRuleService; + + @Override + public synchronized SysOrderNoRule nextOrderNo(String code) { + return sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); + } +} From 7798fd60b780754cd77395af568e514f84df7fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Thu, 12 Sep 2019 23:02:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/SystemInitService.java | 2 +- .../core/apiservice/util/ResourceImportUtil.java | 164 +++++++++++++++++++++ 2 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ResourceImportUtil.java diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java index da20711..bd687b7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java @@ -140,7 +140,7 @@ public class SystemInitService implements ISystemInitService { for (String key : resMap.keySet()) { //放入缓存 - if(webLangMap.get(key) != null) { + if(resMap.get(key) != null) { redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ResourceImportUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ResourceImportUtil.java new file mode 100644 index 0000000..1cd4fbe --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ResourceImportUtil.java @@ -0,0 +1,164 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.*; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-09-12 20:02 + * @Modify: + **/ +public class ResourceImportUtil { + + public static void main(String[] args) { + File file = new File("C:\\Users\\yunha\\Desktop\\副本资源文件.xlsx"); + File sql = new File("C:\\Users\\yunha\\Desktop\\imppRource.sql"); + int i = 1; + try { + FileWriter fileWritter = new FileWriter(sql,false); + BufferedWriter bufferWritter = new BufferedWriter(fileWritter); + + + SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker(); + Workbook wb = new XSSFWorkbook(file); + // 前端资源 + Sheet webSheet = wb.getSheet("前端"); + Row row =null; + SysLocaleResource sysLocaleResource = new SysLocaleResource(); + for (; i < webSheet.getLastRowNum(); i++) { + row = webSheet.getRow(i); + + if(row == null|| row.getCell(2) == null|| row.getCell(3) == null){ + continue; +} + System.out.println(snowflakeIdMaker.nextId()+"行:"+i); + row.getCell(2).setCellType(CellType.STRING); + row.getCell(3).setCellType(CellType.STRING); + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("CN/zh"); + sysLocaleResource.setLanguageNameRdd("简体中文"); + sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue()); + sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(2).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("US/en"); + sysLocaleResource.setLanguageNameRdd("English"); + sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue()); + sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + } + + // IMPP 资源 + Sheet imppSheet = wb.getSheet("IMPP"); + i =0; + for (; i < imppSheet.getLastRowNum(); i++) { + row = imppSheet.getRow(i); + +// if(row == null|| row.getCell(2) == null|| row.getCell(3) == null){ +// continue; +// } + System.out.println(snowflakeIdMaker.nextId()+" IMPP 行:"+i); + row.getCell(2).setCellType(CellType.STRING); + row.getCell(3).setCellType(CellType.STRING); + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("CN/zh"); + sysLocaleResource.setLanguageNameRdd("简体中文"); + sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); + sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("US/en"); + sysLocaleResource.setLanguageNameRdd("English"); + sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); + sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + } + + // WMS资源 + Sheet wmsSheet = wb.getSheet("WMS"); + i =0; + for (; i < wmsSheet.getLastRowNum(); i++) { + row = wmsSheet.getRow(i); + + System.out.println(snowflakeIdMaker.nextId()+" WMS 行:"+i); + row.getCell(2).setCellType(CellType.STRING); + row.getCell(3).setCellType(CellType.STRING); + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("CN/zh"); + sysLocaleResource.setLanguageNameRdd("简体中文"); + sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); + sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + + sysLocaleResource.setId(snowflakeIdMaker.nextId()); + sysLocaleResource.setLanguageCode("US/en"); + sysLocaleResource.setLanguageNameRdd("English"); + sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); + sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); + sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue()); + System.out.println(sql(sysLocaleResource)); + + bufferWritter.write(sql(sysLocaleResource)); + } + + bufferWritter.flush(); + bufferWritter.close(); + + System.out.println("Done"); + } catch (IOException e) { + System.out.println(i); + e.printStackTrace(); + } catch (InvalidFormatException e) { + System.out.println(i); + e.printStackTrace(); + } + } + + static int getType(String name){ + if("错误提示".equals(name.trim())){ + return CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.EXCEPTION_SOLUTION.getValue(); + }else { + return CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.EXCEPTION_DETAIL.getValue(); + } + } + + private static String sql(SysLocaleResource sysLocaleResource){ + return "insert into sys_locale_resource " + + "(id,is_valid,is_deleted,create_user,create_date_time,modify_user,modify_date_time,resource_type,language_code," + + "language_name_rdd,resource_key,resource_value,is_system) " + + "values " + + "("+sysLocaleResource.getId()+",1,2,\"system\",\"" + TimeTool.getNowTime(true)+"\",\"system\",\"" + TimeTool.getNowTime(true)+ + "\","+sysLocaleResource.getResourceType()+",\""+sysLocaleResource.getLanguageCode()+"\",\""+sysLocaleResource.getLanguageNameRdd()+"\",\"" + +sysLocaleResource.getResourceKey().replaceAll("\"","\\\\\\\"")+"\",\""+sysLocaleResource.getResourceValue().replaceAll("\"","\\\\\\\"")+"\",1);\n"; + } + +}