yun-zuoyi
alwaysfrin 6 years ago
commit 6b1620772b

@ -70,6 +70,9 @@ public interface ISysMenuService {
@ApiOperation(value = "新增菜单信息")
SysMenu insertSysMenu(SysMenu sysMenu);
@ApiOperation(value = "新增菜单信息")
List<SysMenu> refreshSysMenu(List<SysMenu> list);
/**
*
*

@ -61,7 +61,7 @@ public interface ISysOrderNoRuleService {
* @return
*/
@ApiOperation(value = "根据code查询最新单号规则")
SysOrderNoRule getSysOrderNoRuleCode(String code);
SysOrderNoRule doGetSysOrderNoRuleCode(String code);
/**
* id

@ -27,6 +27,15 @@ public interface ITestService {
@ApiOperation(value = "in条件封装查询")
List<SysUser> querySysUserByPack(DdlPackBean packBean);
@ApiOperation(value = "添加用户")
void insertSysUser(SysUser sysUser);
@ApiOperation(value = "修改用户")
void updateSysUser(SysUser sysUser);
@ApiOperation(value = "查询用户")
List<SysUser> listSysUser();
@ApiOperation(value = "读写分离测试写")
@Transactional
void write();

@ -77,17 +77,35 @@
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
<!--用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- oracle -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- sqlserver -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
</dependency>
<!-- postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>

@ -15,9 +15,7 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@ -101,4 +99,39 @@ public class DemoDdlPackController {
ListPager<SysUser> listPager = testService.querySysUserByPager(user,pager);
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
*
* @param sysUser
* @return
*/
@PostMapping(value="/test-insert")
@ApiOperation(value="测试添加长文本数据")
public BaseResultBean testInsertSysUserLob(SysUser sysUser){
testService.insertSysUser(sysUser);
return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
*
* @param sysUser
* @return
*/
@PutMapping(value="/test-update")
@ApiOperation(value="测试添加长文本数据")
public BaseResultBean testUpdateSysUserLob(SysUser sysUser){
testService.updateSysUser(sysUser);
return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
*
* @return
*/
@PutMapping(value="/test-list")
@ApiOperation(value="测试添加长文本数据")
public BaseResultBean testListSysUserLob(){
List<SysUser> sysUserList = testService.listSysUser();
return ResultBean.success("操作成功").setResultList(sysUserList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
}

@ -2,24 +2,19 @@ package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.busi.ITestService;
import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.platform.bean.TestTransUser;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.datasource.DataSourceConfig;
import cn.estsh.impp.framework.boot.datasource.DynamicDataSourceHolder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.persistence.LockModeType;
import java.util.List;
/**

@ -93,8 +93,7 @@ public class AuthController extends CoreBaseController {
if (menus != null) {
for (SysMenu menu : menus) {
if (menu != null) {
if (menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue())
&& menu.getParentId().longValue() != -1) {
if (menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue()) && menu.getParentId().longValue() != -1) {
list.add(menu);
}
}

@ -50,6 +50,8 @@ public class BaseMessageController extends CoreBaseController {
*/
public ResultBean basaeInsertSysMessage(SysMessage sysMessage) {
try {
startMultiService();
// 条件校验
ValidatorBean.beginValid(sysMessage)
.notNull("messageTitle", sysMessage.getMessageTitle())

@ -112,6 +112,8 @@ public class WhiteController extends CoreBaseController {
@ApiOperation(value="登陆",notes="登陆")
public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode,
@RequestParam(required = false) String ipAddr){
startMultiService();
LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode);
ResultBean result = null;
this.startMultiService();
@ -139,6 +141,7 @@ public class WhiteController extends CoreBaseController {
// 记录登录记录
recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), ipAddr);
AuthUtil.setOrganize(user.getUser().getOrganize());
} catch (IncorrectCredentialsException e) {
// 密码错误
Integer num = systemLoginService.doLoginPasswordError(loginName, ipAddr);
@ -210,6 +213,8 @@ public class WhiteController extends CoreBaseController {
@ApiOperation(value = "根据语言代码查询资源")
public ResultBean findSysLocaleResourceByLanguageCode(String languageCode){
try {
startMultiService();
ValidatorBean.checkNotNull(languageCode,"语言代码不能为空");
if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) {
throw ImppExceptionBuilder.newInstance()
@ -238,6 +243,8 @@ public class WhiteController extends CoreBaseController {
@ApiOperation(value = "新增文件资源", notes = "新增文件资源")
public ResultBean insertSysFile(@RequestBody SysFile sysFile){
try {
startMultiService();
// 条件验证
ValidatorBean.beginValid(sysFile)
.notNull("dfsFileName", sysFile.getDfsFileName())
@ -298,7 +305,7 @@ public class WhiteController extends CoreBaseController {
try {
ValidatorBean.checkNotNull(code, "code不能为空");
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code);
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code);
return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);

@ -4,9 +4,11 @@ import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -19,7 +21,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.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -64,6 +65,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息")
public ResultBean insertUserDetailModel(UserDetailModel model) {
try {
startMultiService();
SysUser user = model.getSysUser();
SysUserInfo info = model.getSysUserInfo();
@ -143,6 +146,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "修改用户信息", notes = "返回内容添加用户信息")
public ResultBean updateUserDetailModel(UserDetailModel model) {
try {
startMultiService();
SysUser user = model.getSysUser();
SysUserInfo info = model.getSysUserInfo();
@ -228,6 +233,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "修改用户信息", notes = "返回内容添加用户信息")
public ResultBean updateUserModel(UserDetailModel model) {
try {
startMultiService();
checkUserModel(model);
SysUser user = personnelService.getSysUserById(Long.parseLong(model.getUserId()));
initUser(model, user);
@ -334,6 +341,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "删除用户信息", notes = "根据用户信息id删除信息")
public ResultBean deleteSysUserInfo(@PathVariable("id") String id) {
try {
startMultiService();
//条件验证
ValidatorBean.checkNotNull(id, "id为空");
@ -362,6 +371,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "根据id批量删除", notes = "根据id批量删除")
public ResultBean deleteSysUserInfoByIds(String[] ids) {
try {
startMultiService();
ids = ConvertBean.modelSafeArrayNumber(ids, true);
if (ids.length == 0) {
throw ImppExceptionBuilder.newInstance()
@ -405,6 +416,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "删除账号信息", notes = "根据账号信息id删除信息")
public ResultBean deleteSysUser(@PathVariable("id") String id) {
try {
startMultiService();
//条件验证
ValidatorBean.checkNotNull(id, "id为空");
@ -433,6 +446,8 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "根据id批量删除", notes = "根据id批量删除")
public ResultBean deleteSysUserByIds(String[] ids) {
try {
startMultiService();
ids = ConvertBean.modelSafeArrayNumber(ids, true);
if (ids.length == 0) {
throw ImppExceptionBuilder.newInstance()
@ -559,6 +574,57 @@ public class PersonnelController extends CoreBaseController {
}
/**
*
* @return
*/
@GetMapping(value = "/user/get-organize-list")
@ApiOperation(value = "获取账号信息", notes = "获取用户账号的所有组织信息")
public ResultBean getUserOrganizeList(){
try {
List<SysOrganize> list = AuthUtil.getSessionUser().getUser().getOrganizeList();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/user/session-organize/{id}")
@ApiOperation(value = "修改用户会话组织信息", notes = "修改用户会话组织信息")
public ResultBean updateUserOrganizeList(@PathVariable("id") String idStr){
try {
ValidatorBean.checkIsNumber(idStr, "id为空");
List<SysOrganize> list = AuthUtil.getSessionUser().getUser().getOrganizeList();
Long id = Long.parseLong(idStr);
SysOrganize organize = null;
for (SysOrganize org : list) {
if(org.getId().equals(id)){
organize = org;
}
}
if(organize == null){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("不存在的组织信息")
.setErrorSolution("请重新操作")
.build();
}
// 会话工厂信息保存进Redis
AuthUtil.setOrganize(organize);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param model
@ -588,7 +654,7 @@ public class PersonnelController extends CoreBaseController {
/**
*
*
* @param model
* @param model
* @throws Exception
*/
public void checkUserModel(UserDetailModel model) throws Exception {
@ -631,6 +697,8 @@ public class PersonnelController extends CoreBaseController {
* @param model
*/
public void refreshRef(SysUser user, SysUserInfo info, UserDetailModel model) {
startMultiService();
if (user != null) {
// 刷新账号 部门关系
personnelService.refreshRefSysUserDepartment(user.getId(), StringTool.getArrayLong(model.getUserDepartmentIdList()));

@ -97,6 +97,8 @@ public class SysBarcodeRuleController extends CoreBaseController {
@ApiOperation(value = "删除条码规则",notes = "删除条码规则")
public ResultBean deleteSysBarcodeRuleById(@PathVariable("id") String idStr) {
try {
startMultiService();
// 条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
SysBarcodeRule sysBarcodeRule = sysBarcodeRuleService.getSysBarcodeRuleById(Long.parseLong(idStr));

@ -93,6 +93,8 @@ public class SysConfigController extends CoreBaseController {
@ApiOperation(value = "根据id删除系统参数", notes = "根据id删除系统参数")
public ResultBean deleteSysConfig(@PathVariable("id") String idStr) {
try {
startMultiService();
// 条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
if(sysConfigService.getSysConfigById(Long.parseLong(idStr)) == null){

@ -115,6 +115,8 @@ public class SysDictionaryController extends CoreBaseController{
@ApiOperation(value = "根据id删除字典",notes = "根据id删除字典")
public ResultBean updateSysDictionary(@PathVariable("id") String idStr) {
try {
startMultiService();
// 条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
SysDictionary sysDictionary = sysDictionaryService.getSysDictionaryById(Long.parseLong(idStr));

@ -87,6 +87,8 @@ public class SysFileController extends CoreBaseController{
@ApiOperation(value = "根据id删除文件资源", notes = "根据id删除文件资源")
public ResultBean deleteSysFileById(@PathVariable("id") String idStr){
try {
startMultiService();
ValidatorBean.checkNotNull(idStr, "id不能为空");
SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(idStr));
ValidatorBean.checkNotNull(sysFile, "文件信息不存在");
@ -132,7 +134,7 @@ public class SysFileController extends CoreBaseController{
@ApiOperation(value = "根据id查询文件资源", notes = "根据id查询文件资源")
public ResultBean getSysFileById(@PathVariable("id") String id){
try {
ValidatorBean.checkIsNumber(id, "id必须为数字");
ValidatorBean.checkIsNumber(id, "id必须为数字[" + id + "]");
SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(id));
ValidatorBean.checkNotNull(sysFile, "文件信息不存在");
@ -201,6 +203,8 @@ public class SysFileController extends CoreBaseController{
@ApiOperation(value = "文件上传", notes = "文件上传")
public ResultBean singleFileUpload(@RequestParam("file") MultipartFile file) {
try {
startMultiService();
if(file.isEmpty()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
@ -239,6 +243,8 @@ public class SysFileController extends CoreBaseController{
@ApiOperation(value = "文件下载", notes = "文件下载")
public ResultBean singleDownload(@PathVariable("id")String id, HttpServletResponse response) {
try {
startMultiService();
ValidatorBean.checkIsNumber(id, "文件ID不能为空");
SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(id));
@ -306,6 +312,8 @@ public class SysFileController extends CoreBaseController{
@ApiOperation(value = "新增文件资源", notes = "新增文件资源")
public ResultBean insertSysFile(@RequestBody SysFile sysFile){
try {
startMultiService();
// 条件验证
ValidatorBean.beginValid(sysFile)
.notNull("dfsFileName", sysFile.getDfsFileName())

@ -81,6 +81,8 @@ public class SysLabelTemplateController extends CoreBaseController {
@ApiOperation(value = "根据id删除打印模板", notes = "根据id删除打印模板")
public ResultBean deleteSysLabelTemplate(@PathVariable("id") String idStr) {
try {
startMultiService();
// 条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
if(sysLabelTemplateService.getSysLabelTemplateById(Long.parseLong(idStr)) == null){

@ -110,6 +110,8 @@ public class SysLocaleLanguageController extends CoreBaseController {
@ApiOperation(value = "根据id删除系统语言",notes = "根据id删除系统语言")
public ResultBean deleteSysLocaleLanguageById(@PathVariable("id") String idStr){
try {
startMultiService();
//条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
SysLocaleLanguage sysLocaleLanguage =sysLocaleLanguageService.getSysLocaleLanguageById(Long.parseLong(idStr));

@ -120,6 +120,8 @@ public class SysLocaleResourceController extends CoreBaseController {
@ApiOperation(value = "根据id删除系统语言资源",notes = "根据id删除系统语言资源")
public ResultBean deleteSysLocaleResourceById(@PathVariable("id") String idStr){
try {
startMultiService();
//条件验证
ValidatorBean.checkNotNull(idStr,"id不能为空");
SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceById(Long.parseLong(idStr));

@ -103,6 +103,8 @@ public class SysLogExceptionController extends CoreBaseController {
@GetMapping(value = "/export")
@ApiOperation(value = "导出系统异常日志")
public ResultBean exportSysLogException(SysLogException sysLogException, String[] colName, int pageSize,boolean isZip) {
startMultiService();
ListPager listPager;
List result = new ArrayList();
File zipFile = null;

@ -190,6 +190,8 @@ public class SysLogOperateController extends CoreBaseController {
File excelDir = null;
File excelFile;
try {
startMultiService();
Pager pager = new Pager();
pager.setCurrentPage(1);
// 判断是否超过excel最大导出数量设定值

@ -178,6 +178,8 @@ public class SysLogSystemController extends CoreBaseController{
File excelDir = null;
File excelFile;
try {
startMultiService();
Pager pager = new Pager();
pager.setCurrentPage(1);
// 判断是否超过excel最大导出数量设定值

@ -1,7 +1,9 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService;
import cn.estsh.i3plus.core.apiservice.util.ExcelUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
@ -12,17 +14,22 @@ import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -271,4 +278,118 @@ public class SysMenuController extends CoreBaseController {
}
}
/**
*
* @param multipart
* @return
*/
@PostMapping("/upload")
@ApiOperation(value = "文件上传", notes = "文件上传")
public ResultBean singleFileUpload(@RequestParam("file") MultipartFile multipart) {
try {
startMultiService();
if(multipart.isEmpty()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要上传的文件。")
.build();
}
System.out.println("hhh");
List<SysMenu> list = ExcelUtil.importData("permission.xls",multipart.getInputStream(), SysMenu.class);
Map<String,SysMenu> map = new HashMap<>();
list.forEach(menu -> {
ValidatorBean.checkNotNull(menu.getMenuCode(), "功能代码不能为空");
ValidatorBean.checkNotNull(menu.getParentId(), "父级功能ID不能为空");
menu.setId(Long.parseLong(menu.getMenuCode()));
if (!map.containsKey(menu.getMenuCode())) {
map.put(menu.getMenuCode(),menu);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("功能代码【" + menu.getMenuCode() + "】重复")
.build();
}
});
list.forEach(menu -> {
if(menu.getParentId().longValue() != -1){
SysMenu mu = map.get(menu.getParentId().toString());
ValidatorBean.checkNotNull(mu, "【"+menu.getParentId()+"】不存在的父节点信息");
menu.setParentNameRdd(mu.getName());
}
});
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(sysMenuService.refreshSysMenu(list));
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param response response
* @return
*/
@GetMapping("/download/excel")
@ApiOperation(value = "权限文件下载", notes = "权限文件下载")
public ResultBean singleDownload(HttpServletResponse response) {
try {
startMultiService();
String fileName = "menu_" + System.currentTimeMillis() + ".xls";
List<SysMenu> list = sysMenuService.findSysMenuAll();
File file = new File(fileName);
file.createNewFile();
File excle = ExcelUtil.exportData(file, list, SysMenu.class, new String[]{
"menuCode", "name","parentId","menuType","menuStatus","parentNameRdd","menuUrl","menuClassPath","menuGrade","menuSort"
,"menuCss","menuIcon","menuDescription"
});
InputStream targetStream = new DataInputStream(new FileInputStream(excle));
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
response.addHeader("Content-type", "application/octet-stream"); // 设置文件名
BufferedInputStream bis = null;
try {
bis = new BufferedInputStream(targetStream);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
targetStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -311,6 +311,8 @@ public class SysOrderNoRuleController extends CoreBaseController {
@ApiOperation(value = "下载导入模板")
public ResultBean downSysOrderNoRuleTemplate() {
try {
startMultiService();
FastDFSFile fastDFSFile = new FastDFSFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls",
ExcelUtil.importTemplate(SysOrderNoRule.class), "xls");
@ -381,7 +383,7 @@ public class SysOrderNoRuleController extends CoreBaseController {
try {
ValidatorBean.checkNotNull(code, "code不能为空");
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code);
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code);
return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -405,7 +407,7 @@ public class SysOrderNoRuleController extends CoreBaseController {
List<String> orderNoList = new ArrayList<>();
for (int i = 0; i < num; i++) {
orderNoList.add(sysOrderNoRuleService.getSysOrderNoRuleCode(code).getOrderNo());
orderNoList.add(sysOrderNoRuleService.doGetSysOrderNoRuleCode(code).getOrderNo());
}
return ResultBean.success("操作成功").setResultList(orderNoList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {

@ -52,6 +52,8 @@ public class SysRoleController extends CoreBaseController{
@ApiOperation(value = "新增系统角色", notes = "系统角色")
public ResultBean insertSysRole(SysRole role) {
try {
startMultiService();
//条件验证
ValidatorBean.beginValid(role)
.notNull("name", role.getName());
@ -82,6 +84,8 @@ public class SysRoleController extends CoreBaseController{
@ApiOperation(value = "修改系统角色", notes = "系统角色")
public ResultBean updateSysRole(SysRole role) {
try {
startMultiService();
// 数据校验
ValidatorBean.beginValid(role)
.notNull("id", role.getId())
@ -283,6 +287,8 @@ public class SysRoleController extends CoreBaseController{
@ApiOperation(value = "新增角色权限关系", notes = "新增角色权限关系")
public ResultBean insertRefMenu(String roleId,String[] refIds) {
try {
startMultiService();
// 数据校验
ValidatorBean.checkNotNull(roleId, "角色roleId 不能为空");
@ -308,6 +314,8 @@ public class SysRoleController extends CoreBaseController{
@ApiOperation(value = "批量新增角色权限关系", notes = "批量新增角色权限关系")
public ResultBean insertBatchRefMenu(String[] roleIds,String[] menuIds) {
try {
startMultiService();
roleIds = ConvertBean.modelSafeArrayNumber(roleIds,true);
menuIds = ConvertBean.modelSafeArrayNumber(menuIds,true);

@ -158,6 +158,8 @@ public class SysTaskController extends CoreBaseController {
@ApiOperation(value = "删除任务", notes = "删除任务")
public ResultBean deleteSysTaskById(@PathVariable("id") String idStr) {
try {
startMultiService();
// 数据校验
ValidatorBean.checkNotNull(idStr, "id不能为空");
if (sysTaskService.getSysTaskById(Long.parseLong(idStr)) == null) {

@ -165,6 +165,8 @@ public class SysTaskCycleController extends CoreBaseController {
@ApiOperation(value = "删除任务周期", notes = "删除任务周期")
public ResultBean deleteSysTaskCycle(@PathVariable("id") String idStr) {
try {
startMultiService();
// 数据校验
ValidatorBean.checkNotNull(idStr, "时间表达式id 不能为空");
if (sysTaskCycleService.getSysTaskCycleById(Long.parseLong(idStr)) == null) {

@ -114,6 +114,8 @@ public class SysTaskPlanController extends CoreBaseController {
@ApiOperation(value = "新增任务计划", notes = "任务计划")
public ResultBean insertSysTaskTime(SysTaskPlan sysTaskPlan, Integer isExecute) {
try {
startMultiService();
// 数据校验
ValidatorBean.beginValid(sysTaskPlan)
.notNull("name", sysTaskPlan.getName())
@ -195,6 +197,8 @@ public class SysTaskPlanController extends CoreBaseController {
@ApiOperation(value = "修改任务计划", notes = "任务计划")
public ResultBean updateSysTaskTime(SysTaskPlan sysTaskPlan, Integer isExecute) {
try {
startMultiService();
ResultBean resultBean = ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(sysTaskPlan);
@ -270,6 +274,8 @@ public class SysTaskPlanController extends CoreBaseController {
@ApiOperation(value = "删除任务计划", notes = "删除任务计划")
public ResultBean deleteSysTaskTime(@PathVariable("id") String id) {
try {
startMultiService();
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
@ -339,6 +345,8 @@ public class SysTaskPlanController extends CoreBaseController {
@ApiOperation(value = "修改任务计划状态", notes = "根据ID修改任务计划状态")
public ResultBean updateQuartzStatus(@PathVariable("id") String idStr, @PathVariable("status") Integer status) {
try {
startMultiService();
// 数据校验
ValidatorBean.checkNotNull(idStr, "id 不能为空");
ValidatorBean.checkNotZero(status, "状态不能为空");

@ -102,6 +102,8 @@ public class SysToolTypeController extends CoreBaseController{
@ApiOperation(value = "根据id删除硬件类型",notes = "根据id删除硬件类型")
public ResultBean deleteSysToolType(@PathVariable("id") String idStr){
try {
startMultiService();
ValidatorBean.checkNotNull(idStr,"id不能为空");
if(toolTypeService.getSysToolTypeById(Long.parseLong(idStr)) == null){
throw ImppExceptionBuilder.newInstance()

@ -72,6 +72,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "新增用户", notes = "新增系统用户")
public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) {
try {
startMultiService();
ConvertBean.modelSafeArrayNumber(roleIds,true);
ValidatorBean.beginValid(sysUser)
@ -133,6 +135,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "修改用户", notes = "修改用户信息")
public ResultBean updateSysUser(SysUser sysUser,String[] roleIds) {
try {
startMultiService();
ConvertBean.modelSafeArrayNumber(roleIds,true);
ValidatorBean.beginValid(sysUser)
.numberCheck("id",sysUser.getUserInfoId())
@ -248,6 +252,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "修改密码", notes = "修改当前登录用户密码")
public ResultBean updateSysUserPassword(String password,String newPwd) {
try {
startMultiService();
SessionUser sessionUser = AuthUtil.getSessionUser();
// 数据校验
ValidatorBean.checkNotNull(password, "旧密码不能为空");
@ -382,6 +388,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "密码重置",notes = "根据id重置用户密码")
public ResultBean updateResetPassword(@PathVariable String id){
try {
startMultiService();
SysUser user = sysUserService.getSysUserById(Long.parseLong(id));
if(user != null){
Integer num = personnelService.checkSysUserResetPassword(user);
@ -531,6 +539,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "修改用户操作组织id")
public ResultBean updateSysUserOrganize(String idStr, String organizeIdStr){
try{
startMultiService();
ValidatorBean.checkNotNull(idStr, "id不能为空");
SysUser sysUser = sysUserService.getSysUserById(Long.parseLong(idStr));
ValidatorBean.checkNotNull(sysUser, "用户不存在");

@ -71,6 +71,8 @@ public class SysUserInfoController extends CoreBaseController{
@ApiOperation(value="添加用户信息",notes="返回内容添加用户信息")
public ResultBean insertSysUserInfo(SysUserInfo userInfo){
try {
startMultiService();
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
@ -103,6 +105,8 @@ public class SysUserInfoController extends CoreBaseController{
@ApiOperation(value="修改用户信息",notes="根据用户信息id修改信息")
public ResultBean updateSysUserInfoById(SysUserInfo userInfo){
try {
startMultiService();
//登陆用户
SessionUser user = AuthUtil.getSessionUser();

@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.websocket.MessageWebSocket;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
@ -68,6 +69,7 @@ public class MessageLetterQueueReceiver {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, data);
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
ConvertBean.serviceModelInitialize(msg, "system");
msg = sysMessageService.insertSysMessage(msg);
if (!StringUtils.isBlank(msg.getMessageReceiversId())) {
@ -92,6 +94,7 @@ public class MessageLetterQueueReceiver {
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
refUserMessage.setIsUrgent(msg.getIsUrgent());
ConvertBean.serviceModelInitialize(refUserMessage, "system");
insertList.add(refUserMessage);
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.mq;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
@ -73,6 +74,7 @@ public class ScheduleQueueReceiver {
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
ConvertBean.serviceModelInitialize(logTaskTime, "system");
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
// 定时任务失败通知
@ -91,6 +93,8 @@ public class ScheduleQueueReceiver {
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// 初始数据
ConvertBean.serviceModelInitialize(sysMessage, "system");
// 是否内部成员
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {

@ -176,6 +176,13 @@ public class SysMenuService implements ISysMenuService {
}
@Override
public List<SysMenu> refreshSysMenu(List<SysMenu> list) {
LOGGER.info("系统功能 SYS_MENU list :{}", list);
return sysMenuRDao.saveAll(list);
}
@Override
@ApiOperation(value = "查询菜单信息",notes = "查询所有菜单信息")
public List<SysMenu> findSysMenuAll() {
LOGGER.info("系统功能 SYS_MENU find All");

@ -89,7 +89,7 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
@Override
@ApiOperation(value = "根据code查询最新单号规则")
public synchronized SysOrderNoRule getSysOrderNoRuleCode(String code) {
public synchronized SysOrderNoRule doGetSysOrderNoRuleCode(String code) {
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code);
if (sysOrderNoRule == null) {

@ -282,7 +282,6 @@ public class SysRoleService implements ISysRoleService {
}
}
/**
*
* @param roleName

@ -105,4 +105,19 @@ public class TestService implements ITestService {
u = testTransUserRepository.insert(u);
System.out.println("插入对象:" + u);
}
@Override
public void insertSysUser(SysUser sysUser) {
sysUserRDao.insert(sysUser);
}
@Override
public void updateSysUser(SysUser sysUser) {
sysUserRDao.update(sysUser);
}
@Override
public List<SysUser> listSysUser() {
return sysUserRDao.list();
}
}

@ -153,12 +153,7 @@ public class ExcelUtil {
}
// excel 文本框最大长度
if(String.valueOf(cellValue).length() > 30000){
hssfRow.createCell(j, CellType.STRING).setCellValue(String.valueOf(cellValue).substring(0, 30000));
}else{
hssfRow.createCell(j, CellType.STRING).setCellValue(String.valueOf(cellValue));
}
hssfRow.createCell(j, CellType.STRING).setCellValue(StringTool.valueExcelOf(cellValue));
}
}
@ -208,6 +203,7 @@ public class ExcelUtil {
// 校验sheet是否超过最大行数
Sheet sheet = wb.getSheet(importClass.getSimpleName());
int maxRow = Integer.parseInt(sysConfigService.getSysConfigByCode(PlatformConstWords.EXCEL_IMPORT_MAX_ROW).getConfigValue());
System.out.println(maxRow);
if (sheet != null && sheet.getLastRowNum() > maxRow) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
@ -246,30 +242,33 @@ public class ExcelUtil {
row = sheet.getRow(i);
obj = importClass.newInstance();
for (int j = 0; j < fields.length; j++) {
// 判断是否存在引用关系
if (fields[j].isAnnotationPresent(AnnoOutputColumn.class)) {
inputColumn = fields[j].getAnnotation(AnnoOutputColumn.class);
row.getCell(j).setCellType(CellType.STRING);
cellValue = row.getCell(j).getStringCellValue();
// 判断是否为枚举字段
if (inputColumn.refClass().isEnum()) {
method = inputColumn.refClass().getDeclaredMethod(
inputColumn.value() + "Of" + StringTool.toUpperCaseFirstOne(inputColumn.refForeignKey()),
inputColumn.refClass().getDeclaredMethod("get"+
StringTool.toUpperCaseFirstOne(inputColumn.value())).getReturnType());
cellValue = method.invoke(null, cellValue);
}else if(inputColumn.refClass().equals(SysDictionary.class) && cellValue != null){
cellValue = sysDictionaryService.getSysDictionaryByParentCodeAndName(inputColumn.refForeignKey(), String.valueOf(cellValue)).getName();
} else if(!inputColumn.refClass().equals(Object.class) && !inputColumn.refClass().equals(SysDictionary.class)){
cellValue = selectByProperty(inputColumn.refClass(), inputColumn.refForeignKey(), inputColumn.value(), cellValue);
Field field = fields[j];
if(field != null){
// 判断是否存在引用关系
if (field.isAnnotationPresent(AnnoOutputColumn.class)) {
inputColumn = fields[j].getAnnotation(AnnoOutputColumn.class);
row.getCell(j).setCellType(CellType.STRING);
cellValue = row.getCell(j).getStringCellValue();
// 判断是否为枚举字段
if (inputColumn.refClass().isEnum()) {
method = inputColumn.refClass().getDeclaredMethod(
inputColumn.value() + "Of" + StringTool.toUpperCaseFirstOne(inputColumn.refForeignKey()),
inputColumn.refClass().getDeclaredMethod("get"+
StringTool.toUpperCaseFirstOne(inputColumn.value())).getReturnType());
cellValue = method.invoke(null, cellValue);
}else if(inputColumn.refClass().equals(SysDictionary.class) && cellValue != null){
cellValue = sysDictionaryService.getSysDictionaryByParentCodeAndName(inputColumn.refForeignKey(), String.valueOf(cellValue)).getName();
} else if(!inputColumn.refClass().equals(Object.class) && !inputColumn.refClass().equals(SysDictionary.class)){
cellValue = selectByProperty(inputColumn.refClass(), inputColumn.refForeignKey(), inputColumn.value(), cellValue);
}
}else{
cellValue = getExcelCell(row.getCell(j), field.getType());
}
}else{
cellValue = getExcelCell(row.getCell(j), fields[j].getType());
}
fields[j].setAccessible(true);
fields[j].set(obj, cellValue);
field.setAccessible(true);
field.set(obj, cellValue);
}
}
dataList.add(obj);
}

@ -58,17 +58,15 @@ spring.datasource.time-between-eviction-runs-millis=18800
##主数据源,读写
#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.60:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
#impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.44:3306/40_impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.username=impp_i3_core_user
impp.write.datasource.password=impp_i3_core_pwd
##辅数据源,只读
#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.60:3307/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
#impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.44:3306/40_impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=impp_i3_schedule_user_3307
impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=impp_i3_core_user
impp.read.datasource.password=impp_i3_core_pwd
################ 日志数据源 ################

@ -106,9 +106,9 @@ impp.schedule.thread-priority=5
################################ 其他功能设置 ################################
#redisIP
redis.hostName=192.168.1.55
redis.hostName=redis
#端口号
redis.port=16376
redis.port=6379
#如果有密码
redis.password=
##其他redis配置需要调整的加在此处
@ -167,9 +167,9 @@ spring.sleuth.sampler.probability=1.0
################ FastDfs 配置 ################
#tracker服务器ip
fastdfs.tracker_servers=tracker:7031
fastdfs.tracker_servers=tracker:22122
# tracker的http端口
fastdfs.http_tracker_http_port=7031
fastdfs.http_tracker_http_port=22122
# 使用自定义工具获取文件展示地址
fastdfs.http.ui.host=http://192.168.1.56:7030
#密码

@ -0,0 +1,23 @@
package test.cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.core.apiservice.util.ExcelUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import com.alibaba.fastjson.JSON;
import java.io.FileInputStream;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Adair Peng
* @CreateDate : 2019-05-21 12:57
* @Modify:
**/
public class ExcelReadData {
public static void main(String[] args) throws Exception{
List<SysMenu> list = ExcelUtil.importData("permission.xls", new FileInputStream("E:\\permission.xls"), SysMenu.class);
System.out.println(JSON.toJSONString(list));
}
}

@ -108,6 +108,11 @@
</dependency>
<dependency>
<groupId>i3plus.platform</groupId>
<artifactId>i3plus-platform-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-platform</artifactId>
<version>${project.version}</version>
@ -129,7 +134,7 @@
<version>${project.version}</version>
</dependency>
<!-- wei'fu微服调用 -->
<!-- 微服调用 -->
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-core</artifactId>
@ -143,6 +148,28 @@
<version>5.1.39</version>
</dependency>
<!-- oracle -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.1.0</version>
</dependency>
<!-- sqlserver -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<!-- postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency>
<!-- 常用string方法 -->
<dependency>
<groupId>org.apache.commons</groupId>
@ -233,6 +260,7 @@
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save