From fa6d248ea00eeca57944500c0e2c0ca332907ec6 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Fri, 29 Mar 2019 20:07:03 +0800 Subject: [PATCH] =?UTF-8?q?hql=E5=B0=81=E8=A3=85=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ITestService.java | 5 +++ .../controller/DemoDdlPackController.java | 47 +++++++++++++++++++++ .../controller/base/SimpleController.java | 45 -------------------- .../apiservice/serviceimpl/busi/TestService.java | 48 ++++++++++++++++++++++ 4 files changed, 100 insertions(+), 45 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SimpleController.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java index 6af881d..beafac1 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.core.api.iservice.busi; +import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -16,4 +18,7 @@ public interface ITestService { @ApiOperation(value = "多表查询") List queryToolAndToolType(Pager pager); + + @ApiOperation(value = "条件查询") + public ListPager querySysUserByPager(SysUser user, Pager pager); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java new file mode 100644 index 0000000..1d5bfbe --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java @@ -0,0 +1,47 @@ +package cn.estsh.i3plus.core.apiservice.controller; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; +import cn.estsh.i3plus.core.api.iservice.busi.ITestService; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; +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 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.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.sql.SQLException; + +@RestController +@RequestMapping("/impp-ddl") +@Api(description="hql封装demo") +public class DemoDdlPackController { + + private static final Logger LOGGER = LoggerFactory.getLogger(DemoDdlPackController.class); + + @Autowired + ITestService testService; + + @GetMapping(value="/test-ddlpack") + @ApiOperation(value="ddl封装测试") + public ResultBean testDdlPack(SysUser user, Pager pager) throws Exception{ + try{ + ListPager listPager = testService.querySysUserByPager(user,pager); + return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SimpleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SimpleController.java deleted file mode 100644 index dbcf777..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SimpleController.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.controller.base; - -import cn.estsh.i3plus.core.api.iservice.base.IDataSimpleService; -import cn.estsh.i3plus.platform.common.util.PlatformConstWords; -import cn.estsh.impp.framework.base.controller.CoreBaseController; -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.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * @Description : - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-09-05 16:40 - * @Modify: - **/ -@RestController -@Api(tags="SimpleController",description="简单服务demo") -@RequestMapping(PlatformConstWords.BASE_URL +"/simple-service") -public class SimpleController extends CoreBaseController{ - private Logger LOGGER = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private IDataSimpleService dataSimpleService; - - @PutMapping(value="/insert") - @ApiOperation(value="service服务",notes="返回内容添加service") - public ResultBean insertFactory(@RequestParam("name")String name, @RequestParam("code")String code){ -// MachineFactory machineFactory = new MachineFactory(); -// machineFactory.setFactoryName(name); -// machineFactory.setFactoryCode(code); -// dataSimpleService.saveMachineFactory(machineFactory); - - return new ResultBean(true,"工厂已保存"); - } - - -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java index b2b1b82..16b53c9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java @@ -2,11 +2,27 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ITestService; import cn.estsh.i3plus.core.apiservice.dao.ITestDao; +import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; +import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; +import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; 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.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -19,12 +35,44 @@ import java.util.List; @Service public class TestService implements ITestService { + public static final Logger LOGGER = LoggerFactory.getLogger(TestService.class); + @Autowired ITestDao testDao; + @Autowired + private SysUserRepository sysUserRDao; + @Override @ApiOperation(value = "多表查询") public List queryToolAndToolType(Pager pager) { return testDao.queryToolAndToolType(pager); } + + @Override + @ApiOperation(value = "账号分页查询", notes = "组合查询") + public ListPager querySysUserByPager(SysUser user, Pager pager) { + LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); + + //生成hql查询语句 + String hqlPack = CoreHqlPack.packHqlSysUser(user); + pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(hqlPack)); + ListPager list = new ListPager(sysUserRDao.findByHqlWherePage(hqlPack + user.orderBy(), pager), pager); + LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager()); + + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getNumEqualPackOverZero(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",packBean); + DdlPreparedPack.getNumEqualPackOverZero(user.getDepartmentId(),"departmentId",packBean); + DdlPreparedPack.getNumEqualPackOverZero(user.getUserStatus(),"userStatus",packBean); + DdlPreparedPack.getStringLikerPack(user.getUserName(),"userName",packBean); + DdlPreparedPack.getStringLikerPack(user.getUserLoginName(),"userLoginName",packBean); + DdlPreparedPack.getStringLikerPack(user.getUserEmail(),"userEmail",packBean); + DdlPreparedPack.getStringLikerPack(user.getUserPhone(),"userPhone",packBean); + + pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(packBean)); + list = new ListPager(sysUserRDao.findByHqlWherePage(packBean, pager), pager); + LOGGER.info("size:{},pager:{}",list.getObjectList().size(),list.getObjectPager()); + + return list; + } }