首页--功能模块展示

This commit is contained in:
zhn
2022-05-24 16:29:43 +08:00
parent 57661ec11a
commit a8184eaec6
6 changed files with 470 additions and 0 deletions
@@ -0,0 +1,170 @@
package com.jero.modules.home.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.home.entity.HomeFunctionModuleEO;
import com.jero.modules.home.service.IHomeFunctionModuleEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 功能模块
* @Author: jero-boot
* @Date: 2022-05-24
* @Version: V1.0
*/
@Api(tags="功能模块")
@RestController
@RequestMapping("/home/homeFunctionModuleEO")
@Slf4j
public class HomeFunctionModuleEOController extends JeroController<HomeFunctionModuleEO, IHomeFunctionModuleEOService> {
@Autowired
private IHomeFunctionModuleEOService homeFunctionModuleEOService;
/**
* 分页列表查询
*
* @param homeFunctionModuleEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "功能模块-分页列表查询")
@ApiOperation(value="功能模块-分页列表查询", notes="功能模块-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(HomeFunctionModuleEO homeFunctionModuleEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<HomeFunctionModuleEO> queryWrapper = QueryGenerator.initQueryWrapper(homeFunctionModuleEO, req.getParameterMap());
Page<HomeFunctionModuleEO> page = new Page<HomeFunctionModuleEO>(pageNo, pageSize);
IPage<HomeFunctionModuleEO> pageList = homeFunctionModuleEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "功能模块-列表查询")
@ApiOperation(value="功能模块-列表查询", notes="功能模块-列表查询")
@GetMapping(value = "/list")
public Result<List<HomeFunctionModuleEO>> queryList() {
List<HomeFunctionModuleEO> list = homeFunctionModuleEOService.queryList();
return Result.OK(list);
}
/**
* 添加
* state = 1为选中的图表,state = 2为未选择的图表
* @param homeFunctionModuleEOList
* @return
*/
@AutoLog(value = "功能模块-添加")
@ApiOperation(value="功能模块-添加", notes="功能模块-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody List<HomeFunctionModuleEO> homeFunctionModuleEOList) {
homeFunctionModuleEOService.add(homeFunctionModuleEOList);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param homeFunctionModuleEO
* @return
*/
@AutoLog(value = "功能模块-编辑")
@ApiOperation(value="功能模块-编辑", notes="功能模块-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody HomeFunctionModuleEO homeFunctionModuleEO) {
homeFunctionModuleEOService.editById(homeFunctionModuleEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "功能模块-通过id删除")
@ApiOperation(value="功能模块-通过id删除", notes="功能模块-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
homeFunctionModuleEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "功能模块-批量删除")
@ApiOperation(value="功能模块-批量删除", notes="功能模块-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.homeFunctionModuleEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "功能模块-通过id查询")
@ApiOperation(value="功能模块-通过id查询", notes="功能模块-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
HomeFunctionModuleEO homeFunctionModuleEO = homeFunctionModuleEOService.queryById(id);
if(homeFunctionModuleEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(homeFunctionModuleEO);
}
/**
* 导出excel
*
* @param request
* @param homeFunctionModuleEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, HomeFunctionModuleEO homeFunctionModuleEO) {
return super.exportXls(request, homeFunctionModuleEO, HomeFunctionModuleEO.class, "功能模块");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, HomeFunctionModuleEO.class);
}
}
@@ -0,0 +1,94 @@
package com.jero.modules.home.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 功能模块
* @Author: jero-boot
* @Date: 2022-05-24
* @Version: V1.0
*/
@Data
@TableName("home_function_module")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="home_function_module对象", description="功能模块")
public class HomeFunctionModuleEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**图标名称*/
@Excel(name = "图标名称", width = 15)
@ApiModelProperty(value = "图标名称")
private java.lang.String iconName;
/**图标英文名称*/
@Excel(name = "图标英文名称", width = 15)
@ApiModelProperty(value = "图标英文名称")
private java.lang.String iconNameEn;
/**图标路径*/
@Excel(name = "图标路径", width = 15)
@ApiModelProperty(value = "图标路径")
private java.lang.String iconPath;
/**路由*/
@Excel(name = "路由", width = 15)
@ApiModelProperty(value = "路由")
private java.lang.String url;
/**标识*/
@Excel(name = "标识", width = 15)
@ApiModelProperty(value = "标识")
private java.lang.String state;
/**排序*/
@Excel(name = "排序", width = 15)
@ApiModelProperty(value = "排序")
private java.lang.Integer sort;
}
@@ -0,0 +1,17 @@
package com.jero.modules.home.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.home.entity.HomeFunctionModuleEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 功能模块
* @Author: jero-boot
* @Date: 2022-05-24
* @Version: V1.0
*/
public interface HomeFunctionModuleEOMapper extends BaseMapper<HomeFunctionModuleEO> {
}
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.home.mapper.HomeFunctionModuleEOMapper">
<resultMap id="HomeFunctionModuleEOResultMap" type="com.jero.modules.home.entity.HomeFunctionModuleEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="icon_name" property="iconName" />
<result column="icon_name_en" property="iconNameEn" />
<result column="icon_path" property="iconPath" />
<result column="url" property="url" />
<result column="state" property="state" />
<result column="sort" property="sort" />
</resultMap>
</mapper>
@@ -0,0 +1,61 @@
package com.jero.modules.home.service;
import com.jero.modules.home.entity.HomeFunctionModuleEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 功能模块
* @Author: jero-boot
* @Date: 2022-05-24
* @Version: V1.0
*/
public interface IHomeFunctionModuleEOService extends IService<HomeFunctionModuleEO> {
/**
* 保存
*
* @param homeFunctionModuleEOList
* @return
*/
void add(List<HomeFunctionModuleEO> homeFunctionModuleEOList);
/**
* 更新
*
* @param homeFunctionModuleEO
* @return
*/
void editById(HomeFunctionModuleEO homeFunctionModuleEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
HomeFunctionModuleEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<HomeFunctionModuleEO> queryList();
}
@@ -0,0 +1,110 @@
package com.jero.modules.home.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.home.entity.HomeFunctionModuleEO;
import com.jero.modules.home.mapper.HomeFunctionModuleEOMapper;
import com.jero.modules.home.service.IHomeFunctionModuleEOService;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 功能模块
* @Author: jero-boot
* @Date: 2022-05-24
* @Version: V1.0
*/
@Service
public class HomeFunctionModuleEOServiceImpl extends ServiceImpl<HomeFunctionModuleEOMapper, HomeFunctionModuleEO> implements IHomeFunctionModuleEOService {
/**
* 保存
*
* @param homeFunctionModuleEOList
* @return
*/
@Override
public void add(List<HomeFunctionModuleEO> homeFunctionModuleEOList) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//先删除在添加
LambdaQueryWrapper<HomeFunctionModuleEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(HomeFunctionModuleEO::getCreateBy,loginUser.getUsername());
this.remove(wrapper);
this.saveBatch(homeFunctionModuleEOList);
}
/**
* 更新
*
* @param homeFunctionModuleEO
* @return
*/
@Override
public void editById(HomeFunctionModuleEO homeFunctionModuleEO) {
Date now = new Date();
homeFunctionModuleEO.setUpdateTime(now);
saveOrUpdate(homeFunctionModuleEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public HomeFunctionModuleEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<HomeFunctionModuleEO> queryList() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//所有的图表(state=0)
LambdaQueryWrapper<HomeFunctionModuleEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(HomeFunctionModuleEO::getState,"0");
List<HomeFunctionModuleEO> homeFunctionModuleEOList = this.list(wrapper);
//当前用户配置的图表
LambdaQueryWrapper<HomeFunctionModuleEO> wrapperTemp = new LambdaQueryWrapper<>();
wrapperTemp.in(HomeFunctionModuleEO::getCreateBy,loginUser.getUsername()).orderByAsc(HomeFunctionModuleEO::getState).orderByAsc(HomeFunctionModuleEO::getSort);
List<HomeFunctionModuleEO> homeFunctionModuleEOS = this.list(wrapperTemp);
if(homeFunctionModuleEOS.size() == 0){
return homeFunctionModuleEOList;
}else{
return homeFunctionModuleEOS;
}
}
}