Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
wei.peng 6 years ago
commit 7697d78c25

@ -1,42 +1,42 @@
package cn.estsh.i3plus.core.api.iservice.busi; //package cn.estsh.i3plus.core.api.iservice.busi;
//
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; //import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysUser; //import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
//
import javax.transaction.Transactional; //import javax.transaction.Transactional;
import java.util.List; //import java.util.List;
//
/** ///**
* @Description : // * @Description :
* @Reference : // * @Reference :
* @Author : yunhao // * @Author : yunhao
* @CreateDate : 2019-02-20 21:23 // * @CreateDate : 2019-02-20 21:23
* @Modify: // * @Modify:
**/ // **/
public interface ITestService { //public interface ITestService {
//
@ApiOperation(value = "多表查询") // @ApiOperation(value = "多表查询")
List<Object> queryToolAndToolType(Pager pager); // List<Object> queryToolAndToolType(Pager pager);
//
@ApiOperation(value = "条件查询") // @ApiOperation(value = "条件查询")
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager); // public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager);
//
@ApiOperation(value = "in条件封装查询") // @ApiOperation(value = "in条件封装查询")
List<SysUser> querySysUserByPack(DdlPackBean packBean); // List<SysUser> querySysUserByPack(DdlPackBean packBean);
//
@ApiOperation(value = "添加用户") // @ApiOperation(value = "添加用户")
void insertSysUser(SysUser sysUser); // void insertSysUser(SysUser sysUser);
//
@ApiOperation(value = "修改用户") // @ApiOperation(value = "修改用户")
void updateSysUser(SysUser sysUser); // void updateSysUser(SysUser sysUser);
//
@ApiOperation(value = "查询用户") // @ApiOperation(value = "查询用户")
List<SysUser> listSysUser(); // List<SysUser> listSysUser();
//
@ApiOperation(value = "读写分离测试写") // @ApiOperation(value = "读写分离测试写")
@Transactional // @Transactional
void write(); // void write();
} //}

@ -1,137 +1,137 @@
package cn.estsh.i3plus.core.apiservice.controller; //package cn.estsh.i3plus.core.apiservice.controller;
//
import cn.estsh.i3plus.core.api.iservice.busi.ITestService; //import cn.estsh.i3plus.core.api.iservice.busi.ITestService;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; //import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.SysUser; //import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; //import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ResultBean; //import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; //import org.slf4j.Logger;
import org.slf4j.LoggerFactory; //import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
//
@RestController //@RestController
@RequestMapping("/impp-ddl") //@RequestMapping("/impp-ddl")
@Api(description="hql封装demo") //@Api(description="hql封装demo")
public class DemoDdlPackController { //public class DemoDdlPackController {
//
private static final Logger LOGGER = LoggerFactory.getLogger(DemoDdlPackController.class); // private static final Logger LOGGER = LoggerFactory.getLogger(DemoDdlPackController.class);
//
@Autowired // @Autowired
ITestService testService; // ITestService testService;
//
/** // /**
* ddl // * ddl封装测试
* @param user // * @param user 用户
* @param pager // * @param pager 分页信息
* @return // * @return 处理结果
* @throws Exception // * @throws Exception
*/ // */
@GetMapping(value="/test-ddlpack") // @GetMapping(value="/test-ddlpack")
@ApiOperation(value="ddl封装测试") // @ApiOperation(value="ddl封装测试")
public ResultBean testDdlPack(SysUser user, Pager pager) throws Exception{ // public ResultBean testDdlPack(SysUser user, Pager pager) throws Exception{
try{ // try{
ListPager<SysUser> listPager = testService.querySysUserByPager(user,pager); // ListPager<SysUser> listPager = testService.querySysUserByPager(user,pager);
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ // }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep); // LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} // }
} // }
//
/** // /**
* ddlin // * ddl封装in
* @param testType // * @param testType 参数
* @return // * @return 处理结果
*/ // */
@GetMapping(value="/testpackin") // @GetMapping(value="/testpackin")
@ApiOperation(value="ddl封装in") // @ApiOperation(value="ddl封装in")
public BaseResultBean testDdlPackIn(int testType){ // public BaseResultBean testDdlPackIn(int testType){
String[] strArr = {"1","2"}; // String[] strArr = {"1","2"};
Integer[] intArr = {1,2}; // Integer[] intArr = {1,2};
//
List strList = new ArrayList(); // List strList = new ArrayList();
strList.add("1"); // strList.add("1");
strList.add("2"); // strList.add("2");
//
List intList = new ArrayList(); // List intList = new ArrayList();
intList.add(1); // intList.add(1);
intList.add(2); // intList.add(2);
//
DdlPackBean packBean = new DdlPackBean(true); // DdlPackBean packBean = new DdlPackBean(true);
if(testType == 1) { // if(testType == 1) {
DdlPreparedPack.getInPack("aaa", "userName", packBean); // DdlPreparedPack.getInPack("aaa", "userName", packBean);
}else if(testType == 2) { // }else if(testType == 2) {
DdlPreparedPack.getInPackArray(strArr, "userName", packBean); // DdlPreparedPack.getInPackArray(strArr, "userName", packBean);
}else if(testType == 3) { // }else if(testType == 3) {
DdlPreparedPack.getInPackArray(intArr, "userStatus", packBean); // DdlPreparedPack.getInPackArray(intArr, "userStatus", packBean);
}else if(testType == 4) { // }else if(testType == 4) {
DdlPreparedPack.getInPackList(strList, "userName", packBean); // DdlPreparedPack.getInPackList(strList, "userName", packBean);
}else if(testType == 5) { // }else if(testType == 5) {
DdlPreparedPack.getInPackList(intList, "userStatus", packBean); // DdlPreparedPack.getInPackList(intList, "userStatus", packBean);
} // }
List<SysUser> list = testService.querySysUserByPack(packBean); // List<SysUser> list = testService.querySysUserByPack(packBean);
//
return ResultBean.success("用户数量:" + list.size()) // return ResultBean.success("用户数量:" + list.size())
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) // .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(list); // .setResultList(list);
} // }
//
/** // /**
* ddl // * ddl测试分页
* @param user // * @param user 用户
* @param pager // * @param pager 分页信息
* @return // * @return 处理结果
*/ // */
@GetMapping(value="/testpager") // @GetMapping(value="/testpager")
@ApiOperation(value="ddl测试分页") // @ApiOperation(value="ddl测试分页")
public BaseResultBean testDdlPager(SysUser user,Pager pager){ // public BaseResultBean testDdlPager(SysUser user,Pager pager){
ListPager<SysUser> listPager = testService.querySysUserByPager(user,pager); // ListPager<SysUser> listPager = testService.querySysUserByPager(user,pager);
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} // }
//
/** // /**
* // * 测试添加长文本数据
* @param sysUser // * @param sysUser
* @return // * @return
*/ // */
@PostMapping(value="/test-insert") // @PostMapping(value="/test-insert")
@ApiOperation(value="测试添加长文本数据") // @ApiOperation(value="测试添加长文本数据")
public BaseResultBean testInsertSysUserLob(SysUser sysUser){ // public BaseResultBean testInsertSysUserLob(SysUser sysUser){
testService.insertSysUser(sysUser); // testService.insertSysUser(sysUser);
return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} // }
/** // /**
* // * 测试添加长文本数据
* @param sysUser // * @param sysUser
* @return // * @return
*/ // */
@PutMapping(value="/test-update") // @PutMapping(value="/test-update")
@ApiOperation(value="测试添加长文本数据") // @ApiOperation(value="测试添加长文本数据")
public BaseResultBean testUpdateSysUserLob(SysUser sysUser){ // public BaseResultBean testUpdateSysUserLob(SysUser sysUser){
testService.updateSysUser(sysUser); // testService.updateSysUser(sysUser);
return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} // }
/** // /**
* // * 测试查询长文本数据
* @return // * @return
*/ // */
@PutMapping(value="/test-list") // @PutMapping(value="/test-list")
@ApiOperation(value="测试添加长文本数据") // @ApiOperation(value="测试添加长文本数据")
public BaseResultBean testListSysUserLob(){ // public BaseResultBean testListSysUserLob(){
List<SysUser> sysUserList = testService.listSysUser(); // List<SysUser> sysUserList = testService.listSysUser();
return ResultBean.success("操作成功").setResultList(sysUserList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // return ResultBean.success("操作成功").setResultList(sysUserList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} // }
//
//
} //}

@ -1,414 +1,414 @@
package cn.estsh.i3plus.core.apiservice.controller; //package cn.estsh.i3plus.core.apiservice.controller;
//
import cn.estsh.i3plus.core.api.iservice.busi.ITestService; //import cn.estsh.i3plus.core.api.iservice.busi.ITestService;
import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService; //import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService;
import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; //import cn.estsh.i3plus.pojo.platform.bean.TestTransUser;
import cn.estsh.impp.framework.base.controller.CoreBaseController; //import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.util.ResultBean; //import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; //import org.slf4j.Logger;
import org.slf4j.LoggerFactory; //import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; //import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
import java.util.List; //import java.util.List;
//
/** ///**
* @Description : entityManager // * @Description : 对事务以及entityManager的操作演示
* @Reference : // * @Reference :
* @Author : alwaysfrin // * @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:20 // * @CreateDate : 2019-04-29 17:20
* @Modify: // * @Modify:
**/ // **/
@RestController //@RestController
@Api(description = "对事务以及entityManager的操作演示") //@Api(description = "对事务以及entityManager的操作演示")
@RequestMapping("/demo-trans") //@RequestMapping("/demo-trans")
public class DemoTransactionController extends CoreBaseController { //public class DemoTransactionController extends CoreBaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoTransactionController.class); // private static final Logger LOGGER = LoggerFactory.getLogger(DemoTransactionController.class);
//
@Autowired // @Autowired
private ITestTransService transService; // private ITestTransService transService;
//
@Autowired // @Autowired
private ITestService testService; // private ITestService testService;
//
//
/** // /**
* // * 属性更新
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-test-redis") // @PostMapping("/trans-test-redis")
@ApiOperation(value = "事务测试缓存") // @ApiOperation(value = "事务测试缓存")
public ResultBean testRedisTrans(String name,String val) { // public ResultBean testRedisTrans(String name,String val) {
transService.testRedisTrans(name,val); // transService.testRedisTrans(name,val);
//
return ResultBean.success("事务测试缓存"); // return ResultBean.success("事务测试缓存");
} // }
//
/** // /**
* dao // * dao混合调用
* // *
* @param type // * @param type 调用参数
* @param name // * @param name 名称
* @return // * @return 处理结果
*/ // */
@PostMapping("/test1") // @PostMapping("/test1")
@ApiOperation(value = "dao混合调用") // @ApiOperation(value = "dao混合调用")
public ResultBean transTest1(int type, String name) { // public ResultBean transTest1(int type, String name) {
transService.testListTran(type, name); // transService.testListTran(type, name);
//
return ResultBean.success("测试成功"); // return ResultBean.success("测试成功");
} // }
//
/** // /**
* // * 测试多数据源切换
* // *
* @return // * @return 处理结果
*/ // */
@PostMapping("/test-dynamic-datasource") // @PostMapping("/test-dynamic-datasource")
@ApiOperation(value = "测试多数据源切换") // @ApiOperation(value = "测试多数据源切换")
public ResultBean testDynamicDataSource(int type) { // public ResultBean testDynamicDataSource(int type) {
//多服务调用 // //多服务调用
startMultiService(); // startMultiService();
//
if(type == 1){ // if(type == 1){
System.out.println("====先查后插入===="); // System.out.println("====先查后插入====");
List<TestTransUser> uList = transService.listRead(); // List<TestTransUser> uList = transService.listRead();
System.out.println("对象总数:" + uList.size()); // System.out.println("对象总数:" + uList.size());
//
System.out.println("开始插入"); // System.out.println("开始插入");
transService.write(); // transService.write();
//
uList = transService.listRead(); // uList = transService.listRead();
System.out.println("再次查询:" + uList.size()); // System.out.println("再次查询:" + uList.size());
}else if(type == 2){ // }else if(type == 2){
System.out.println("====先插入后查===="); // System.out.println("====先插入后查====");
System.out.println("开始插入"); // System.out.println("开始插入");
transService.write(); // transService.write();
//
List<TestTransUser> uList = transService.listRead(); // List<TestTransUser> uList = transService.listRead();
System.out.println("对象总数:" + uList.size()); // System.out.println("对象总数:" + uList.size());
//
if(uList.size() > 0){ // if(uList.size() > 0){
throw new RuntimeException("111"); // throw new RuntimeException("111");
} // }
}else if(type == 3){ // }else if(type == 3){
System.out.println("====先查后插入===="); // System.out.println("====先查后插入====");
List<TestTransUser> uList = transService.listRead(); // List<TestTransUser> uList = transService.listRead();
System.out.println("对象总数:" + uList.size()); // System.out.println("对象总数:" + uList.size());
//
System.out.println("开始插入"); // System.out.println("开始插入");
testService.write(); // testService.write();
//
uList = transService.listRead(); // uList = transService.listRead();
System.out.println("再次查询:" + uList.size()); // System.out.println("再次查询:" + uList.size());
} // }
//
return ResultBean.success("测试成功"); // return ResultBean.success("测试成功");
} // }
//
//
/** // /**
* Controller // * 测试多数据源切换Controller调用
* // *
* @return // * @return 处理结果
*/ // */
@PostMapping("/test-dynamic-datasource-more") // @PostMapping("/test-dynamic-datasource-more")
@ApiOperation(value = "测试多数据源切换") // @ApiOperation(value = "测试多数据源切换")
public ResultBean testDynamicDataSourceWithController(boolean withMulti) { // public ResultBean testDynamicDataSourceWithController(boolean withMulti) {
if(withMulti) { // if(withMulti) {
//多服务调用 // //多服务调用
startMultiService(); // startMultiService();
} // }
//
//读 // //读
readWriteTransactionTest(1); // readWriteTransactionTest(1);
//写 // //写
readWriteTransactionTest(2); // readWriteTransactionTest(2);
//
return ResultBean.success("测试成功"); // return ResultBean.success("测试成功");
} // }
//
/** // /**
* - // * 读写分离-事务测试
* @return // * @return 处理结果
*/ // */
@PostMapping("/read-write-test") // @PostMapping("/read-write-test")
@ApiOperation(value = "读写分离-事务测试") // @ApiOperation(value = "读写分离-事务测试")
public ResultBean readWriteTransactionTest(@RequestParam("testType") int testType) { // public ResultBean readWriteTransactionTest(@RequestParam("testType") int testType) {
if(testType == 1) { // if(testType == 1) {
//读 // //读
List<TestTransUser> uList = transService.listRead(); // List<TestTransUser> uList = transService.listRead();
System.out.println("对象总数:" + uList.size()); // System.out.println("对象总数:" + uList.size());
for (TestTransUser u : uList){ // for (TestTransUser u : uList){
System.out.println(u); // System.out.println(u);
} // }
}else if(testType == 2) { // }else if(testType == 2) {
//写 // //写
transService.write(); // transService.write();
}else if(testType == 3) { // }else if(testType == 3) {
//读写(写事务) // //读写(写事务)
transService.transReadWrite(); // transService.transReadWrite();
}else if(testType == 4) { // }else if(testType == 4) {
//读写(写事务) // //读写(写事务)
transService.readWrite(); // transService.readWrite();
} // }
//
return ResultBean.success("测试成功"); // return ResultBean.success("测试成功");
} // }
//
/******************* 事务并发出现的问题*******************/ // /******************* 事务并发出现的问题*******************/
//
/** // /**
* // * 第一类丢失更新
* @param name name // * @param name 更新的name的值
* @param time // * @param time 停止时间,秒
* @param execp // * @param execp 是否抛出异常
* @return // * @return 处理结果
*/ // */
@PostMapping("/update-lost") // @PostMapping("/update-lost")
@ApiOperation(value = "第一类丢失更新") // @ApiOperation(value = "第一类丢失更新")
public ResultBean updateLost1(String name,int time,boolean execp) { // public ResultBean updateLost1(String name,int time,boolean execp) {
transService.updateLost(name,time,execp); // transService.updateLost(name,time,execp);
//
return ResultBean.success("幻读模拟结束"); // return ResultBean.success("幻读模拟结束");
} // }
//
/** // /**
* // * 第二类丢失更新
* @return // * @return 处理结果
*/ // */
@PostMapping("/update-lost-trans") // @PostMapping("/update-lost-trans")
@ApiOperation(value = "第二类丢失更新") // @ApiOperation(value = "第二类丢失更新")
public ResultBean updateLostTrans(String name,double salary,int time,boolean execp) { // public ResultBean updateLostTrans(String name,double salary,int time,boolean execp) {
transService.updateLostTrans(name,salary,time,execp); // transService.updateLostTrans(name,salary,time,execp);
//
return ResultBean.success("第二类丢失更新结束"); // return ResultBean.success("第二类丢失更新结束");
} // }
//
/** // /**
* // * 模拟脏读
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-dirty-a") // @PostMapping("/trans-dirty-a")
@ApiOperation(value = "脏读模拟A") // @ApiOperation(value = "脏读模拟A")
public ResultBean transDirtyA(long id) { // public ResultBean transDirtyA(long id) {
try{ // try{
transService.writeDirtyA(id); // transService.writeDirtyA(id);
}catch(Exception e){ // }catch(Exception e){
System.out.println(e.getMessage()); // System.out.println(e.getMessage());
} // }
//
return ResultBean.success("脏读模拟A结束"); // return ResultBean.success("脏读模拟A结束");
} // }
//
/** // /**
* // * 模拟脏读
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-dirty-b") // @PostMapping("/trans-dirty-b")
@ApiOperation(value = "脏读模拟B") // @ApiOperation(value = "脏读模拟B")
public ResultBean transDirtyB(long id) { // public ResultBean transDirtyB(long id) {
transService.writeDirtyB(id); // transService.writeDirtyB(id);
//
return ResultBean.success("脏读模拟B结束"); // return ResultBean.success("脏读模拟B结束");
} // }
//
/** // /**
* A // * 模拟不可重复读A
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-repeat-a") // @PostMapping("/trans-repeat-a")
@ApiOperation(value = "不可重复读A") // @ApiOperation(value = "不可重复读A")
public ResultBean transRepeatA(long id) { // public ResultBean transRepeatA(long id) {
transService.writeRepeatA(id); // transService.writeRepeatA(id);
//
return ResultBean.success("不可重复读A结束"); // return ResultBean.success("不可重复读A结束");
} // }
//
/** // /**
* B // * 模拟不可重复读B
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-repeat-b") // @PostMapping("/trans-repeat-b")
@ApiOperation(value = "不可重复读B") // @ApiOperation(value = "不可重复读B")
public ResultBean transRepeatB(long id) { // public ResultBean transRepeatB(long id) {
transService.writeRepeatB(id); // transService.writeRepeatB(id);
//
return ResultBean.success("不可重复读B结束"); // return ResultBean.success("不可重复读B结束");
} // }
//
/** // /**
* // * 模拟幻读
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-phantom-a") // @PostMapping("/trans-phantom-a")
@ApiOperation(value = "幻读模拟A") // @ApiOperation(value = "幻读模拟A")
public ResultBean transPhantomA(long id,boolean listOrDelete) { // public ResultBean transPhantomA(long id,boolean listOrDelete) {
try { // try {
transService.writePhantomA(id, listOrDelete); // transService.writePhantomA(id, listOrDelete);
}catch(Exception e){ // }catch(Exception e){
System.out.println("幻读异常:" + e.getMessage()); // System.out.println("幻读异常:" + e.getMessage());
} // }
//
return ResultBean.success("幻读模拟A结束"); // return ResultBean.success("幻读模拟A结束");
} // }
//
/** // /**
* // * 模拟幻读
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-phantom-b") // @PostMapping("/trans-phantom-b")
@ApiOperation(value = "幻读模拟B") // @ApiOperation(value = "幻读模拟B")
public ResultBean transPhantomB() { // public ResultBean transPhantomB() {
transService.writePhantomB(); // transService.writePhantomB();
//
return ResultBean.success("幻读模拟B结束"); // return ResultBean.success("幻读模拟B结束");
} // }
//
/********************* 事务传播 *******************/ // /********************* 事务传播 *******************/
//
/** // /**
* - // * 事务传播-创建新事物
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-require-new") // @PostMapping("/trans-require-new")
@ApiOperation(value = "创建新事务") // @ApiOperation(value = "创建新事务")
public ResultBean transRequireNew() { // public ResultBean transRequireNew() {
transService.writeRequireNew(); // transService.writeRequireNew();
//
return ResultBean.success("require-new结束"); // return ResultBean.success("require-new结束");
} // }
//
/** // /**
* -mandatory // * 事务传播-mandatory
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-mandatory") // @PostMapping("/trans-mandatory")
@ApiOperation(value = "没有事务抛出异常") // @ApiOperation(value = "没有事务抛出异常")
public ResultBean transMandatory() { // public ResultBean transMandatory() {
transService.writeTransMandatory(); // transService.writeTransMandatory();
//
return ResultBean.success("mandatory结束"); // return ResultBean.success("mandatory结束");
} // }
//
/******************* 事务隔离级别 *******************/ // /******************* 事务隔离级别 *******************/
//调用事务出现的问题,打开事务注释 // //调用事务出现的问题,打开事务注释
//
/********************* 乐观锁 Optimistic lock *******************/ // /********************* 乐观锁 Optimistic lock *******************/
//
/** // /**
* A // * 乐观锁A
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-optimistic-a") // @PostMapping("/trans-optimistic-a")
@ApiOperation(value = "乐观锁 Optimistic lockA") // @ApiOperation(value = "乐观锁 Optimistic lockA")
public ResultBean transOptimisticA(long id,int type) { // public ResultBean transOptimisticA(long id,int type) {
transService.writeOptimisticA(id,type); // transService.writeOptimisticA(id,type);
//
return ResultBean.success("乐观锁 Optimistic lockA结束"); // return ResultBean.success("乐观锁 Optimistic lockA结束");
} // }
//
/** // /**
* B // * 乐观锁B
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-optimistic-b") // @PostMapping("/trans-optimistic-b")
@ApiOperation(value = "乐观锁 Optimistic lockB") // @ApiOperation(value = "乐观锁 Optimistic lockB")
public ResultBean transOptimisticB(long id,int type) { // public ResultBean transOptimisticB(long id,int type) {
transService.writeOptimisticB(id,type); // transService.writeOptimisticB(id,type);
//
return ResultBean.success("乐观锁 Optimistic lockB结束"); // return ResultBean.success("乐观锁 Optimistic lockB结束");
} // }
//
/********************* 悲观锁 Pessimistic Lock *******************/ // /********************* 悲观锁 Pessimistic Lock *******************/
/** // /**
* A // * 悲观锁A
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pessimistic-a") // @PostMapping("/trans-pessimistic-a")
@ApiOperation(value = "悲观锁 pessimistic lockA") // @ApiOperation(value = "悲观锁 pessimistic lockA")
public ResultBean transPessimisticA(long id,int type) { // public ResultBean transPessimisticA(long id,int type) {
transService.writePessimisticA(id,type); // transService.writePessimisticA(id,type);
//
return ResultBean.success("悲观锁 pessimistic lockA结束"); // return ResultBean.success("悲观锁 pessimistic lockA结束");
} // }
//
/** // /**
* B // * 悲观锁B
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pessimistic-b") // @PostMapping("/trans-pessimistic-b")
@ApiOperation(value = "悲观锁 pessimistic lockB") // @ApiOperation(value = "悲观锁 pessimistic lockB")
public ResultBean transPessimisticB(long id,int type) { // public ResultBean transPessimisticB(long id,int type) {
transService.writePessimisticB(id,type); // transService.writePessimisticB(id,type);
//
return ResultBean.success("悲观锁 pessimistic lockB结束"); // return ResultBean.success("悲观锁 pessimistic lockB结束");
} // }
//
/********************* 事务设计 *******************/ // /********************* 事务设计 *******************/
//
/** // /**
* // * 通常(可能出现问题)
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pattern-wrong") // @PostMapping("/trans-pattern-wrong")
@ApiOperation(value = "常见事务处理(可能出现并发问题)") // @ApiOperation(value = "常见事务处理(可能出现并发问题)")
public ResultBean transPatternWrong(long id,double salary) { // public ResultBean transPatternWrong(long id,double salary) {
transService.writePatternWrong(id,salary); // transService.writePatternWrong(id,salary);
//
return ResultBean.success("常见事务处理"); // return ResultBean.success("常见事务处理");
} // }
//
/** // /**
* 线 // * 线程锁(性能)
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pattern-synchronized") // @PostMapping("/trans-pattern-synchronized")
@ApiOperation(value = "事务模式-线程锁") // @ApiOperation(value = "事务模式-线程锁")
public ResultBean transPatternSynchron(long id,double salary) { // public ResultBean transPatternSynchron(long id,double salary) {
transService.writePatternSynchron(id,salary); // transService.writePatternSynchron(id,salary);
//
return ResultBean.success("事务模式-线程锁"); // return ResultBean.success("事务模式-线程锁");
} // }
//
/** // /**
* // * 乐观锁
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pattern-opti") // @PostMapping("/trans-pattern-opti")
@ApiOperation(value = "事务模式-乐观锁") // @ApiOperation(value = "事务模式-乐观锁")
public ResultBean transPatternOpti(long id,double salary) { // public ResultBean transPatternOpti(long id,double salary) {
transService.writePatternOpti(id,salary); // transService.writePatternOpti(id,salary);
//
return ResultBean.success("事务模式-乐观锁"); // return ResultBean.success("事务模式-乐观锁");
} // }
//
/** // /**
* // * 悲观锁
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pattern-pessi") // @PostMapping("/trans-pattern-pessi")
@ApiOperation(value = "事务模式-悲观锁") // @ApiOperation(value = "事务模式-悲观锁")
public ResultBean transPatternPessi(long id,double salary) { // public ResultBean transPatternPessi(long id,double salary) {
transService.writePatternPessi(id,salary); // transService.writePatternPessi(id,salary);
//
return ResultBean.success("事务模式-悲观锁"); // return ResultBean.success("事务模式-悲观锁");
} // }
//
/** // /**
* // * 属性更新
* @return // * @return 处理结果
*/ // */
@PostMapping("/trans-pattern-param-update") // @PostMapping("/trans-pattern-param-update")
@ApiOperation(value = "事务模式-属性更新") // @ApiOperation(value = "事务模式-属性更新")
public ResultBean transPatternParamUpdate(long id,double salary) { // public ResultBean transPatternParamUpdate(long id,double salary) {
transService.writePatternParamUpdate(id,salary); // transService.writePatternParamUpdate(id,salary);
//
return ResultBean.success("事务模式-属性更新"); // return ResultBean.success("事务模式-属性更新");
} // }
} //}

@ -1,72 +1,72 @@
package cn.estsh.i3plus.core.apiservice.daoimpl; //package cn.estsh.i3plus.core.apiservice.daoimpl;
//
import cn.estsh.i3plus.core.apiservice.dao.ITestDao; //import cn.estsh.i3plus.core.apiservice.dao.ITestDao;
import cn.estsh.i3plus.platform.common.tool.TimeTool; //import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; //import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTool; //import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import org.apache.commons.lang3.RandomStringUtils; //import org.apache.commons.lang3.RandomStringUtils;
import org.slf4j.Logger; //import org.slf4j.Logger;
import org.slf4j.LoggerFactory; //import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
import javax.persistence.EntityManager; //import javax.persistence.EntityManager;
import javax.persistence.Query; //import javax.persistence.Query;
import java.util.List; //import java.util.List;
//
/** ///**
* @Description : // * @Description : 性能测试
* @Reference : // * @Reference :
* @Author : yunhao // * @Author : yunhao
* @CreateDate : 2019-02-20 21:17 // * @CreateDate : 2019-02-20 21:17
* @Modify: // * @Modify:
**/ // **/
@Service //@Service
public class TestDaoImpl implements ITestDao { //public class TestDaoImpl implements ITestDao {
public static final Logger LOGGER = LoggerFactory.getLogger(UserPermissionDaoImpl.class); // public static final Logger LOGGER = LoggerFactory.getLogger(UserPermissionDaoImpl.class);
//
@Autowired // @Autowired
private EntityManager entityManager; // private EntityManager entityManager;
//
public static final String TEXT = "党的十八大提出倡导富强、民主、文明、和谐倡导自由、平等、公正、法治倡导爱国、敬业、诚信、友善积极培育和践行社会主义核心价值观。富强、民主、文明、和谐是国家层面的价值目标自由、平等、公正、法治是社会层面的价值取向爱国、敬业、诚信、友善是公民个人层面的价值准则这24个字是社会主义核心价值观的基本内容。"; // public static final String TEXT = "党的十八大提出倡导富强、民主、文明、和谐倡导自由、平等、公正、法治倡导爱国、敬业、诚信、友善积极培育和践行社会主义核心价值观。富强、民主、文明、和谐是国家层面的价值目标自由、平等、公正、法治是社会层面的价值取向爱国、敬业、诚信、友善是公民个人层面的价值准则这24个字是社会主义核心价值观的基本内容。";
//
@Override // @Override
public void insertBatch(int num, int waitTime) { // public void insertBatch(int num, int waitTime) {
long t1 = System.currentTimeMillis(); // long t1 = System.currentTimeMillis();
SysTool sysTool; // SysTool sysTool;
StringBuffer sb = new StringBuffer(); // StringBuffer sb = new StringBuffer();
sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values "); // sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values ");
SnowflakeIdMaker snf = new SnowflakeIdMaker(); // SnowflakeIdMaker snf = new SnowflakeIdMaker();
for (int i = 0; i < num * 100; i++) { // for (int i = 0; i < num * 100; i++) {
sysTool = new SysTool(); // sysTool = new SysTool();
sysTool.setId(snf.nextId() + System.currentTimeMillis()); // sysTool.setId(snf.nextId() + System.currentTimeMillis());
sysTool.setName(RandomStringUtils.random(10, TEXT)); // sysTool.setName(RandomStringUtils.random(10, TEXT));
sysTool.setToolTypeNameRdd(RandomStringUtils.random(10, TEXT)); // sysTool.setToolTypeNameRdd(RandomStringUtils.random(10, TEXT));
sysTool.setToolTypeId(System.currentTimeMillis()); // sysTool.setToolTypeId(System.currentTimeMillis());
sysTool.setToolIp(RandomStringUtils.random(10, TEXT)); // sysTool.setToolIp(RandomStringUtils.random(10, TEXT));
sysTool.setToolPort((int) (Math.random() * i)); // sysTool.setToolPort((int) (Math.random() * i));
sysTool.setToolDescription(RandomStringUtils.random(10, TEXT)); // sysTool.setToolDescription(RandomStringUtils.random(10, TEXT));
sysTool.setCreateDatetime(TimeTool.getNowTime(true)); // sysTool.setCreateDatetime(TimeTool.getNowTime(true));
sysTool.setModifyDatetime(TimeTool.getNowTime(true)); // sysTool.setModifyDatetime(TimeTool.getNowTime(true));
//
sb.append("("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'" // sb.append("("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'"
+sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"'),"); // +sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"'),");
//
//
} // }
sb.deleteCharAt(sb.length() - 1); // sb.deleteCharAt(sb.length() - 1);
Query sql = entityManager.createNativeQuery(sb.toString()); // Query sql = entityManager.createNativeQuery(sb.toString());
LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",操作数:" + sql.executeUpdate()); // LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",操作数:" + sql.executeUpdate());
} // }
//
@Override // @Override
public List<Object> queryToolAndToolType(Pager pager) { // public List<Object> queryToolAndToolType(Pager pager) {
String hql = "select t,tt from SysTool as t " + // String hql = "select t,tt from SysTool as t " +
" left join SysToolType as tt on t.toolTypeId = tt.id " + // " left join SysToolType as tt on t.toolTypeId = tt.id " +
" where 1=1"; // " where 1=1";
//
return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()) // return entityManager.createQuery(hql).setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize()).getResultList(); // .setMaxResults(pager.getPageSize()).getResultList();
} // }
} //}

@ -40,9 +40,6 @@ public class SysToolService implements ISysToolService {
@Autowired @Autowired
private SysToolTypeRepository toolTypeRDao; private SysToolTypeRepository toolTypeRDao;
@Autowired
private ITestDao testDao;
@Override @Override
@ApiOperation(value = "新增硬件信息") @ApiOperation(value = "新增硬件信息")
public SysTool insertSysTool(SysTool tool) { public SysTool insertSysTool(SysTool tool) {
@ -108,7 +105,7 @@ public class SysToolService implements ISysToolService {
@Override @Override
public void insertBatch(int num,int waitTime){ public void insertBatch(int num,int waitTime){
try { try {
testDao.insertBatch(num,waitTime); // testDao.insertBatch(num,waitTime);
Thread.sleep(waitTime); Thread.sleep(waitTime);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();

@ -1,123 +1,123 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; //package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
//
import cn.estsh.i3plus.core.api.iservice.busi.ITestService; //import cn.estsh.i3plus.core.api.iservice.busi.ITestService;
import cn.estsh.i3plus.core.apiservice.dao.ITestDao; //import cn.estsh.i3plus.core.apiservice.dao.ITestDao;
import cn.estsh.i3plus.platform.common.tool.StringTool; //import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; //import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; //import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack; //import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; //import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; //import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
import cn.estsh.i3plus.pojo.platform.bean.SysUser; //import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; //import cn.estsh.i3plus.pojo.platform.bean.TestTransUser;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; //import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import cn.estsh.i3plus.pojo.platform.repository.TestTransUserRepository; //import cn.estsh.i3plus.pojo.platform.repository.TestTransUserRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; //import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; //import org.slf4j.Logger;
import org.slf4j.LoggerFactory; //import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
import java.util.Random; //import java.util.Random;
//
/** ///**
* @Description : // * @Description :
* @Reference : // * @Reference :
* @Author : yunhao // * @Author : yunhao
* @CreateDate : 2019-02-20 21:24 // * @CreateDate : 2019-02-20 21:24
* @Modify: // * @Modify:
**/ // **/
@Service //@Service
public class TestService implements ITestService { //public class TestService implements ITestService {
//
public static final Logger LOGGER = LoggerFactory.getLogger(TestService.class); // public static final Logger LOGGER = LoggerFactory.getLogger(TestService.class);
//
@Autowired // @Autowired
ITestDao testDao; // ITestDao testDao;
//
@Autowired // @Autowired
private SysUserRepository sysUserRDao; // private SysUserRepository sysUserRDao;
//
@Autowired // @Autowired
private TestTransUserRepository testTransUserRepository; // private TestTransUserRepository testTransUserRepository;
//
@Override // @Override
@ApiOperation(value = "多表查询") // @ApiOperation(value = "多表查询")
public List<Object> queryToolAndToolType(Pager pager) { // public List<Object> queryToolAndToolType(Pager pager) {
return testDao.queryToolAndToolType(pager); // return testDao.queryToolAndToolType(pager);
} // }
//
@Override // @Override
@ApiOperation(value = "账号分页查询", notes = "组合查询") // @ApiOperation(value = "账号分页查询", notes = "组合查询")
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) { // public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); // LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);
//
//生成hql查询语句 // //生成hql查询语句
String hqlPack = CoreHqlPack.packHqlSysUser(user); // String hqlPack = CoreHqlPack.packHqlSysUser(user);
pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(hqlPack)); // pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(hqlPack));
ListPager<SysUser> list = new ListPager(sysUserRDao.findByHqlWherePage(hqlPack + user.orderBy(), pager), pager); // ListPager<SysUser> list = new ListPager(sysUserRDao.findByHqlWherePage(hqlPack + user.orderBy(), pager), pager);
LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager()); // LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager());
//
// DdlPackBean packBean = new DdlPackBean(); //// DdlPackBean packBean = new DdlPackBean();
// DdlPreparedPack.getNumEqualPackOverZero(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",packBean); //// DdlPreparedPack.getNumEqualPackOverZero(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",packBean);
// DdlPreparedPack.getNumEqualPackOverZero(user.getDepartmentId(),"departmentId",packBean); //// DdlPreparedPack.getNumEqualPackOverZero(user.getDepartmentId(),"departmentId",packBean);
// DdlPreparedPack.getNumEqualPackOverZero(user.getUserStatus(),"userStatus",packBean); //// DdlPreparedPack.getNumEqualPackOverZero(user.getUserStatus(),"userStatus",packBean);
// DdlPreparedPack.getStringLikerPack(user.getUserName(),"userName",packBean); //// DdlPreparedPack.getStringLikerPack(user.getUserName(),"userName",packBean);
// DdlPreparedPack.getStringLikerPack(user.getUserLoginName(),"userLoginName",packBean); //// DdlPreparedPack.getStringLikerPack(user.getUserLoginName(),"userLoginName",packBean);
// DdlPreparedPack.getStringLikerPack(user.getUserEmail(),"userEmail",packBean); //// DdlPreparedPack.getStringLikerPack(user.getUserEmail(),"userEmail",packBean);
// DdlPreparedPack.getStringLikerPack(user.getUserPhone(),"userPhone",packBean); //// DdlPreparedPack.getStringLikerPack(user.getUserPhone(),"userPhone",packBean);
//
DdlPackBean packBean = CoreHqlPack.packDdlSysUser(user); // DdlPackBean packBean = CoreHqlPack.packDdlSysUser(user);
System.out.println("getPackedHql=="+packBean.getPackedHql()); // System.out.println("getPackedHql=="+packBean.getPackedHql());
System.out.println("getPackedHqlAll=="+packBean.getPackedHqlAll()); // System.out.println("getPackedHqlAll=="+packBean.getPackedHqlAll());
System.out.println("getHqlAppend=="+packBean.getHqlAppend()); // System.out.println("getHqlAppend=="+packBean.getHqlAppend());
System.out.println("getWhereAppend=="+packBean.getWhereAppend()); // System.out.println("getWhereAppend=="+packBean.getWhereAppend());
System.out.println("getOrderByStr=="+packBean.getOrderByStr()); // System.out.println("getOrderByStr=="+packBean.getOrderByStr());
//
pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(packBean)); // pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(packBean));
list = new ListPager(sysUserRDao.findByHqlWherePage(packBean, pager), pager); // list = new ListPager(sysUserRDao.findByHqlWherePage(packBean, pager), pager);
LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager()); // LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager());
//
return list; // return list;
} // }
//
@Override // @Override
public List<SysUser> querySysUserByPack(DdlPackBean packBean) { // public List<SysUser> querySysUserByPack(DdlPackBean packBean) {
return sysUserRDao.findByHqlWhere(packBean); // return sysUserRDao.findByHqlWhere(packBean);
} // }
//
@Override // @Override
public void write() { // public void write() {
Random ran = new Random(10000); // Random ran = new Random(10000);
TestTransUser u = new TestTransUser(); // TestTransUser u = new TestTransUser();
u.setName("na2me" + ran.nextInt(100)); // u.setName("na2me" + ran.nextInt(100));
u.setSalary(ran.nextDouble()); // u.setSalary(ran.nextDouble());
System.out.println("插入对象:" + u); // System.out.println("插入对象:" + u);
//
u = testTransUserRepository.insert(u); // u = testTransUserRepository.insert(u);
System.out.println("插入对象:" + u); // System.out.println("插入对象:" + u);
} // }
//
@Override // @Override
public void insertSysUser(SysUser sysUser) { // public void insertSysUser(SysUser sysUser) {
sysUserRDao.insert(sysUser); // sysUserRDao.insert(sysUser);
} // }
//
@Override // @Override
public void updateSysUser(SysUser sysUser) { // public void updateSysUser(SysUser sysUser) {
sysUserRDao.update(sysUser); // sysUserRDao.update(sysUser);
} // }
//
@Override // @Override
public List<SysUser> listSysUser() { // public List<SysUser> listSysUser() {
return sysUserRDao.list(); // return sysUserRDao.list();
} // }
} //}

@ -27,214 +27,214 @@ import java.util.regex.Pattern;
* @Modify: * @Modify:
**/ **/
public class ResourceImportUtil { public class ResourceImportUtil {
//
public static void main(String[] args) { // public static void main(String[] args) {
File file = new File("C:\\Users\\yunha\\Desktop\\资源文件.xlsx"); // File file = new File("C:\\Users\\yunha\\Desktop\\资源文件.xlsx");
File sql = new File("C:\\Users\\yunha\\Desktop\\imppResource.sql"); // File sql = new File("C:\\Users\\yunha\\Desktop\\imppResource.sql");
int i = 1; // int i = 1;
try { // try {
FileWriter fileWritter = new FileWriter(sql,false); // FileWriter fileWritter = new FileWriter(sql,false);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter); // BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
//
//
SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker(); // SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker();
Workbook wb = new XSSFWorkbook(file); // Workbook wb = new XSSFWorkbook(file);
// 前端资源 // // 前端资源
Sheet webSheet = wb.getSheet("前端"); // Sheet webSheet = wb.getSheet("前端");
Row row =null; // Row row =null;
SysLocaleResource sysLocaleResource = new SysLocaleResource(); // SysLocaleResource sysLocaleResource = new SysLocaleResource();
for (; i < webSheet.getLastRowNum(); i++) { // for (; i < webSheet.getLastRowNum(); i++) {
row = webSheet.getRow(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));
if(isContainChinese(row.getCell(2).getStringCellValue())){
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){ // if(row == null|| row.getCell(2) == null|| row.getCell(3) == null){
// continue; // continue;
// } // }
System.out.println(snowflakeIdMaker.nextId()+" IMPP 行:"+i); // System.out.println(snowflakeIdMaker.nextId()+"行:"+i);
row.getCell(2).setCellType(CellType.STRING); // row.getCell(2).setCellType(CellType.STRING);
row.getCell(3).setCellType(CellType.STRING); // row.getCell(3).setCellType(CellType.STRING);
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setLanguageCode("CN/zh"); // sysLocaleResource.setLanguageCode("CN/zh");
sysLocaleResource.setLanguageNameRdd("简体中文"); // sysLocaleResource.setLanguageNameRdd("简体中文");
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); // sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue());
sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); // sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue());
sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); // sysLocaleResource.setResourceValue(row.getCell(2).getStringCellValue());
System.out.println(sql(sysLocaleResource)); // System.out.println(sql(sysLocaleResource));
// if(isContainChinese(row.getCell(2).getStringCellValue())){
if(isContainChinese(row.getCell(3).getStringCellValue())){ // bufferWritter.write(sql(sysLocaleResource));
bufferWritter.write(sql(sysLocaleResource)); // }
} //
// sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // sysLocaleResource.setLanguageCode("US/en");
sysLocaleResource.setLanguageCode("US/en"); // sysLocaleResource.setLanguageNameRdd("English");
sysLocaleResource.setLanguageNameRdd("English"); // sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue());
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); // sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue());
sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); // sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue());
sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue()); // System.out.println(sql(sysLocaleResource));
System.out.println(sql(sysLocaleResource)); //
// bufferWritter.write(sql(sysLocaleResource));
bufferWritter.write(sql(sysLocaleResource)); // }
} //
// // IMPP 资源
// WMS资源 // Sheet imppSheet = wb.getSheet("IMPP");
Sheet wmsSheet = wb.getSheet("WMS"); // i =0;
i =0; // for (; i < imppSheet.getLastRowNum(); i++) {
for (; i < wmsSheet.getLastRowNum(); i++) { // row = imppSheet.getRow(i);
row = wmsSheet.getRow(i); //
//// if(row == null|| row.getCell(2) == null|| row.getCell(3) == null){
System.out.println(snowflakeIdMaker.nextId()+" WMS 行:"+i); //// continue;
row.getCell(2).setCellType(CellType.STRING); //// }
row.getCell(3).setCellType(CellType.STRING); // System.out.println(snowflakeIdMaker.nextId()+" IMPP 行:"+i);
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // row.getCell(2).setCellType(CellType.STRING);
sysLocaleResource.setLanguageCode("CN/zh"); // row.getCell(3).setCellType(CellType.STRING);
sysLocaleResource.setLanguageNameRdd("简体中文"); // sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); // sysLocaleResource.setLanguageCode("CN/zh");
sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); // sysLocaleResource.setLanguageNameRdd("简体中文");
sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); // sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
System.out.println(sql(sysLocaleResource)); // sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue());
// sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue());
if(isContainChinese(row.getCell(3).getStringCellValue())){ // System.out.println(sql(sysLocaleResource));
bufferWritter.write(sql(sysLocaleResource)); //
} // if(isContainChinese(row.getCell(3).getStringCellValue())){
// bufferWritter.write(sql(sysLocaleResource));
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // }
sysLocaleResource.setLanguageCode("US/en"); //
sysLocaleResource.setLanguageNameRdd("English"); // sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue())); // sysLocaleResource.setLanguageCode("US/en");
sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue()); // sysLocaleResource.setLanguageNameRdd("English");
sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue()); // sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
System.out.println(sql(sysLocaleResource)); // sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue());
// sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue());
bufferWritter.write(sql(sysLocaleResource)); // System.out.println(sql(sysLocaleResource));
} //
// bufferWritter.write(sql(sysLocaleResource));
// ENUM // }
Sheet enumSheet = wb.getSheet("ENUM"); //
i =1; // // WMS资源
for (; i < enumSheet.getLastRowNum(); i++) { // Sheet wmsSheet = wb.getSheet("WMS");
row = enumSheet.getRow(i); // i =0;
// for (; i < wmsSheet.getLastRowNum(); i++) {
System.out.println(snowflakeIdMaker.nextId()+" ENUM 行:"+i); // row = wmsSheet.getRow(i);
// 模块 //
row.getCell(0).setCellType(CellType.STRING); // System.out.println(snowflakeIdMaker.nextId()+" WMS 行:"+i);
// 枚举名称 // row.getCell(2).setCellType(CellType.STRING);
row.getCell(1).setCellType(CellType.STRING); // row.getCell(3).setCellType(CellType.STRING);
// 枚举项名称 // sysLocaleResource.setId(snowflakeIdMaker.nextId());
row.getCell(2).setCellType(CellType.STRING); // sysLocaleResource.setLanguageCode("CN/zh");
// 国际化(汉) // sysLocaleResource.setLanguageNameRdd("简体中文");
row.getCell(3).setCellType(CellType.STRING); // sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
// 国际化(英) // sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue());
// row.getCell(4).setCellType(CellType.STRING); // sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue());
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // System.out.println(sql(sysLocaleResource));
sysLocaleResource.setLanguageCode("CN/zh"); //
sysLocaleResource.setLanguageNameRdd("简体中文"); // if(isContainChinese(row.getCell(3).getStringCellValue())){
sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.ENUM.getValue()); // bufferWritter.write(sql(sysLocaleResource));
sysLocaleResource.setResourceKey(row.getCell(1).getStringCellValue()+":"+row.getCell(2).getStringCellValue()); // }
sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue()); //
System.out.println(sql(sysLocaleResource)); // sysLocaleResource.setId(snowflakeIdMaker.nextId());
// sysLocaleResource.setLanguageCode("US/en");
bufferWritter.write(sql(sysLocaleResource)); // sysLocaleResource.setLanguageNameRdd("English");
// sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
sysLocaleResource.setId(snowflakeIdMaker.nextId()); // sysLocaleResource.setResourceKey(row.getCell(3).getStringCellValue());
sysLocaleResource.setLanguageCode("US/en"); // sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue());
sysLocaleResource.setLanguageNameRdd("English"); // System.out.println(sql(sysLocaleResource));
sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.ENUM.getValue()); //
sysLocaleResource.setResourceKey(row.getCell(1).getStringCellValue()+":"+row.getCell(2).getStringCellValue()); // bufferWritter.write(sql(sysLocaleResource));
if(row.getCell(4)!= null) { // }
row.getCell(4).setCellType(CellType.STRING); //
sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue()); // // ENUM
} // Sheet enumSheet = wb.getSheet("ENUM");
System.out.println(sql(sysLocaleResource)); // i =1;
// for (; i < enumSheet.getLastRowNum(); i++) {
bufferWritter.write(sql(sysLocaleResource)); // row = enumSheet.getRow(i);
} //
// System.out.println(snowflakeIdMaker.nextId()+" ENUM 行:"+i);
// // 模块
// row.getCell(0).setCellType(CellType.STRING);
// 字典 // // 枚举名称
Sheet dcSheet = wb.getSheet("字典"); // row.getCell(1).setCellType(CellType.STRING);
i =1; // // 枚举项名称
for (; i < dcSheet.getLastRowNum(); i++) { // row.getCell(2).setCellType(CellType.STRING);
row = dcSheet.getRow(i); // // 国际化(汉)
// row.getCell(3).setCellType(CellType.STRING);
System.out.println(snowflakeIdMaker.nextId()+" 字典 行:"+i); // // 国际化(英)
row.getCell(0).setCellType(CellType.STRING); //// row.getCell(4).setCellType(CellType.STRING);
row.getCell(1).setCellType(CellType.STRING); // sysLocaleResource.setId(snowflakeIdMaker.nextId());
row.getCell(2).setCellType(CellType.STRING); // sysLocaleResource.setLanguageCode("CN/zh");
SysDictionary sysDictionary = new SysDictionary(); // sysLocaleResource.setLanguageNameRdd("简体中文");
sysDictionary.setId(Long.parseLong(row.getCell(0).getStringCellValue())); // sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.ENUM.getValue());
sysDictionary.setName(row.getCell(1).getStringCellValue()); // sysLocaleResource.setResourceKey(row.getCell(1).getStringCellValue()+":"+row.getCell(2).getStringCellValue());
sysDictionary.setParentNameRdd(row.getCell(2).getStringCellValue()); // sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue());
// System.out.println(sql(sysLocaleResource));
System.out.println(sql(sysDictionary)); //
bufferWritter.write(sql(sysDictionary)); // bufferWritter.write(sql(sysLocaleResource));
} //
// sysLocaleResource.setId(snowflakeIdMaker.nextId());
// 参数 // sysLocaleResource.setLanguageCode("US/en");
Sheet configSheet = wb.getSheet("参数"); // sysLocaleResource.setLanguageNameRdd("English");
i =1; // sysLocaleResource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.ENUM.getValue());
for (; i < configSheet.getLastRowNum(); i++) { // sysLocaleResource.setResourceKey(row.getCell(1).getStringCellValue()+":"+row.getCell(2).getStringCellValue());
row = configSheet.getRow(i); // if(row.getCell(4)!= null) {
// row.getCell(4).setCellType(CellType.STRING);
System.out.println(snowflakeIdMaker.nextId() + " 参数 行:" + i); // sysLocaleResource.setResourceValue(row.getCell(4).getStringCellValue());
row.getCell(0).setCellType(CellType.STRING); // }
row.getCell(1).setCellType(CellType.STRING); // System.out.println(sql(sysLocaleResource));
row.getCell(2).setCellType(CellType.STRING); //
// bufferWritter.write(sql(sysLocaleResource));
SysConfig sysConfig = new SysConfig(); // }
sysConfig.setId(Long.parseLong(row.getCell(0).getStringCellValue())); //
sysConfig.setName(row.getCell(1).getStringCellValue()); //
sysConfig.setConfigDescription(row.getCell(2).getStringCellValue()); //
// // 字典
System.out.println(sql(sysConfig)); // Sheet dcSheet = wb.getSheet("字典");
bufferWritter.write(sql(sysConfig)); // i =1;
} // for (; i < dcSheet.getLastRowNum(); i++) {
// row = dcSheet.getRow(i);
bufferWritter.flush(); //
bufferWritter.close(); // System.out.println(snowflakeIdMaker.nextId()+" 字典 行:"+i);
// row.getCell(0).setCellType(CellType.STRING);
System.out.println("Done"); // row.getCell(1).setCellType(CellType.STRING);
} catch (IOException e) { // row.getCell(2).setCellType(CellType.STRING);
System.out.println(i); // SysDictionary sysDictionary = new SysDictionary();
e.printStackTrace(); // sysDictionary.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
} catch (InvalidFormatException e) { // sysDictionary.setName(row.getCell(1).getStringCellValue());
System.out.println(i); // sysDictionary.setParentNameRdd(row.getCell(2).getStringCellValue());
e.printStackTrace(); //
} // System.out.println(sql(sysDictionary));
} // bufferWritter.write(sql(sysDictionary));
// }
//
// // 参数
// Sheet configSheet = wb.getSheet("参数");
// i =1;
// for (; i < configSheet.getLastRowNum(); i++) {
// row = configSheet.getRow(i);
//
// System.out.println(snowflakeIdMaker.nextId() + " 参数 行:" + i);
// row.getCell(0).setCellType(CellType.STRING);
// row.getCell(1).setCellType(CellType.STRING);
// row.getCell(2).setCellType(CellType.STRING);
//
// SysConfig sysConfig = new SysConfig();
// sysConfig.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
// sysConfig.setName(row.getCell(1).getStringCellValue());
// sysConfig.setConfigDescription(row.getCell(2).getStringCellValue());
//
// System.out.println(sql(sysConfig));
// bufferWritter.write(sql(sysConfig));
// }
//
// 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){ static int getType(String name){
if("错误提示".equals(name.trim())){ if("错误提示".equals(name.trim())){

@ -1,55 +0,0 @@
package cn.estsh.i3plus.core.apiservice.websocket;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang3.RandomStringUtils;
import java.util.Random;
/**
* @Description :
* @Reference :
* @Author : Adair Peng
* @CreateDate : 2018-11-22 15:02
* @Modify:
**/
public class TestMain {
public static void main(String[] args) {
System.out.println(RandomStringUtils.random(15, true, false));
// StringEscapeUtils.escapeHtml();
/*long workerIdBits = 5L;
long maxWorkerId = -1L ^ (-1L << workerIdBits);
System.out.println("5 --> "+maxWorkerId);
workerIdBits = 6L;
maxWorkerId = -1L ^ (-1L << workerIdBits);
System.out.println("6 --> "+maxWorkerId);
workerIdBits = 8L;
maxWorkerId = -1L ^ (-1L << workerIdBits);
System.out.println("8 --> " + maxWorkerId);*/
int wId = new Random().nextInt(29) + 1;
System.out.println("random id -> "+wId);
SnowflakeIdMaker m = new SnowflakeIdMaker(wId,3);
int i = 0;
long id;
int c = 0;
long l1 = System.currentTimeMillis();
while(i < 1000){
if(m.nextId() < 0) {
System.out.println("======="+m.nextId());
c++;
}else{
//System.out.println(m.nextId());
}
i++;
}
System.out.println("耗时:" + (System.currentTimeMillis()-l1));
System.out.println("====end====error:" + c);
}
}
Loading…
Cancel
Save