Browse Source

fix

master
张泽亮 2 days ago
parent
commit
f4077a9292
10 changed files with 782 additions and 20 deletions
  1. +127
    -0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuappController.java
  2. +3
    -1
      ruoyi-generator/src/main/resources/vm/java/controller.java.vm
  3. +1
    -3
      ruoyi-generator/src/main/resources/vm/sql/sql.vm
  4. +3
    -15
      ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
  5. +132
    -0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/SysMenuapp.java
  6. +78
    -0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuappMapper.java
  7. +88
    -0
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuappService.java
  8. +197
    -0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuappServiceImpl.java
  9. +1
    -1
      ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
  10. +152
    -0
      ruoyi-system/src/main/resources/mapper/system/SysMenuappMapper.xml

+ 127
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuappController.java View File

@@ -0,0 +1,127 @@
package com.ruoyi.web.controller.system;

import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.translation.TranslateUtils;
import com.ruoyi.system.domain.SysMenuapp;
import com.ruoyi.system.service.ISysMenuappService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* 手机菜单Controller
*
* @author rongxin
* @date 2025-09-02
*/
@RestController
@RequestMapping("/system/menuapp")
public class SysMenuappController extends BaseController
{
@Autowired
private ISysMenuappService sysMenuappService;

/**
* 查询手机菜单列表
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:list')")
@GetMapping("/list")
public TableDataInfo list(SysMenuapp sysMenuapp)
{
startPage();
List<SysMenuapp> list = sysMenuappService.selectSysMenuappList(sysMenuapp);
return getDataTable(list);
}


/**
* 导出手机菜单列表
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:export')")
@Log(title = "手机菜单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SysMenuapp sysMenuapp)
{
List<SysMenuapp> list = sysMenuappService.selectSysMenuappList(sysMenuapp);
ExcelUtil<SysMenuapp> util = new ExcelUtil<SysMenuapp>(SysMenuapp.class);
util.exportExcel(response, list, "手机菜单数据");
}

/**
* 手机菜单导入模板
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) {
ExcelUtil<SysMenuapp> util = new ExcelUtil<SysMenuapp>(SysMenuapp.class);
util.importTemplateExcel(response, "手机菜单数据");
}

/**
* 手机菜单导入
*/
@Log(title = "手机菜单", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:menuapp:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<SysMenuapp> util = new ExcelUtil<SysMenuapp>(SysMenuapp.class);
List<SysMenuapp> list = util.importExcel(file.getInputStream(), 0);
String message = sysMenuappService.importSysMenuapp(list, updateSupport, getUsername());
return AjaxResult.success(message);
}

/**
* 获取手机菜单详细信息
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
SysMenuapp detail = sysMenuappService.selectSysMenuappById(id);
TranslateUtils.translate(detail, false);
return success(detail);
}

/**
* 新增手机菜单
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:add')")
@Log(title = "手机菜单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SysMenuapp sysMenuapp)
{
return toAjax(sysMenuappService.insertSysMenuapp(sysMenuapp));
}

/**
* 修改手机菜单
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:edit')")
@Log(title = "手机菜单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysMenuapp sysMenuapp)
{
return toAjax(sysMenuappService.updateSysMenuapp(sysMenuapp));
}

/**
* 删除手机菜单
*/
@PreAuthorize("@ss.hasPermi('system:menuapp:remove')")
@Log(title = "手机菜单", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(sysMenuappService.deleteSysMenuappByIds(ids));
}


}

+ 3
- 1
ruoyi-generator/src/main/resources/vm/java/controller.java.vm View File

@@ -100,7 +100,9 @@ public class ${ClassName}Controller extends BaseController
@GetMapping(value = "/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
{
return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
${ClassName} detail = ${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
TranslateUtils.translate(detail, false);
return success(detail);
}

/**


+ 1
- 3
ruoyi-generator/src/main/resources/vm/sql/sql.vm View File

@@ -1,6 +1,6 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单');
values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', 'rate', 'admin', sysdate(), '', null, '${functionName}菜单');

-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
@@ -27,6 +27,4 @@ values('导入', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPre
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('打印', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:import', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('附件', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:attach', '#', 'admin', sysdate(), '', null, '');


+ 3
- 15
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm View File

@@ -191,7 +191,7 @@
#set($comment=$column.columnComment)
#end
#set($dictType=$column.dictType)
<el-descriptions-item label="${comment}">#if(($column.htmlType == "select" || $column.htmlType == "checkbox" || $column.htmlType == "radio") && "" != $dictType)<el-tooltip effect="light" :content="form.${field}" placement="right"><dict-tag :options="dict.type.dictType" :value="form.${field}"/></el-tooltip>#elseif($column.htmlType == "imageUpload")<div v-if="!!form.${field}"><el-tooltip effect="light" :content="item" placement="bottom" v-for="(item, index) in form.${field}.split(',')" :key="index"><el-image style="height: 64px; width: 64px; margin: 2px; display: inline-block;" fit="scale-down" :src="baseRoutingUrll + item" :preview-src-list="form.${field}.split(',').map((x) => baseRoutingUrll + x)"/></el-tooltip></div>#elseif($column.htmlType == "editor")<el-tooltip placement="bottom" effect="light"><div slot="content" v-html="form.${field}"/><div style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 230px;">{{ form.${field} }}</div></el-tooltip>#elseif($column.htmlType == "fileUpload")<div v-if="!!form.${field}"><el-tooltip effect="light" :content="item.substr(item.lastIndexOf('/') + 1)" placement="bottom" v-for="(item, index) in form.${field}.split(',')" :key="index"><a :href="baseRoutingUrll + item" target="_blank" style="height: 48px; width: 48px; margin: 2px; display: inline-block; text-align: center;"><img :src="getFileIcon(item)" style="height: 100%;"/></a></el-tooltip></div>#else{{ form.${field} }}#end</el-descriptions-item>
<el-descriptions-item label="${comment}">{{ form.${field} }}</el-descriptions-item>
#end
#end
#end
@@ -245,13 +245,7 @@
#elseif($column.htmlType == "select" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="请选择${comment}">
<el-option v-for="dict in dict.type.${dictType}" :key="dict.value" :label="dict.label"
#if($column.javaType == "Integer" || $column.javaType == "Long")
:value="parseInt(dict.value)"
#else
:value="dict.value"
#end
></el-option>
<el-option v-for="dict in dict.type.${dictType}" :key="dict.value" :label="dict.label" #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)" #else:value="dict.value"#end></el-option>
</el-select>
</el-form-item>
#elseif($column.htmlType == "select" && $dictType)
@@ -275,13 +269,7 @@
#elseif($column.htmlType == "radio" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-radio-group v-model="form.${field}">
<el-radio v-for="dict in dict.type.${dictType}" :key="dict.value"
#if($column.javaType == "Integer" || $column.javaType == "Long")
:label="parseInt(dict.value)"
#else
:label="dict.value"
#end
>{{dict.label}}</el-radio>
<el-radio v-for="dict in dict.type.${dictType}" :key="dict.value" #if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.value)" #else:label="dict.value"#end>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
#elseif($column.htmlType == "radio" && $dictType)


+ 132
- 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysMenuapp.java View File

@@ -0,0 +1,132 @@
package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
* 手机菜单对象 sys_menuapp
*
* @author rongxin
* @date 2025-09-02
*/
public class SysMenuapp extends BaseEntity
{
private static final long serialVersionUID = 1L;

/** id */
private Long id;

/** 模块名称 */
@Excel(name = "模块名称", dictType = "model_type")
private String modelType;

/** 菜单名称 */
@Excel(name = "菜单名称")
private String menuName;

/** 菜单路径 */
@Excel(name = "菜单路径")
private String menuUrl;

/** 菜单图标 */
@Excel(name = "菜单图标")
private String menuIcon;

/** 显示顺序 */
@Excel(name = "显示顺序")
private Integer menuNum;

/** 菜单状态 */
@Excel(name = "菜单状态", dictType = "sys_normal_disable")
private String menuStatus;

public void setId(Long id)
{
this.id = id;
}

public Long getId()
{
return id;
}

public void setModelType(String modelType)
{
this.modelType = modelType;
}

public String getModelType()
{
return modelType;
}

public void setMenuName(String menuName)
{
this.menuName = menuName;
}

public String getMenuName()
{
return menuName;
}

public void setMenuUrl(String menuUrl)
{
this.menuUrl = menuUrl;
}

public String getMenuUrl()
{
return menuUrl;
}

public void setMenuIcon(String menuIcon)
{
this.menuIcon = menuIcon;
}

public String getMenuIcon()
{
return menuIcon;
}

public void setMenuNum(Integer menuNum)
{
this.menuNum = menuNum;
}

public Integer getMenuNum()
{
return menuNum;
}

public void setMenuStatus(String menuStatus)
{
this.menuStatus = menuStatus;
}

public String getMenuStatus()
{
return menuStatus;
}

@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("modelType", getModelType())
.append("menuName", getMenuName())
.append("menuUrl", getMenuUrl())
.append("menuIcon", getMenuIcon())
.append("menuNum", getMenuNum())
.append("menuStatus", getMenuStatus())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

+ 78
- 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuappMapper.java View File

@@ -0,0 +1,78 @@
package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.SysMenuapp;

import java.util.List;

/**
* 手机菜单Mapper接口
*
* @author rongxin
* @date 2025-09-02
*/
public interface SysMenuappMapper
{
/**
* 查询手机菜单
*
* @param id 手机菜单主键
* @return 手机菜单
*/
public SysMenuapp selectSysMenuappById(Long id);

/**
* 查询手机菜单列表
*
* @param sysMenuapp 手机菜单
* @return 手机菜单集合
*/
public List<SysMenuapp> selectSysMenuappList(SysMenuapp sysMenuapp);

/**
* 新增手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
public int insertSysMenuapp(SysMenuapp sysMenuapp);

/**
* 批量新增手机菜单
*
* @param list 手机菜单
* @return 结果
*/
public int insertSysMenuappBatch(List<SysMenuapp> list);

/**
* 修改手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
public int updateSysMenuapp(SysMenuapp sysMenuapp);

/**
* 批量修改 手机菜单
*
* @param list 手机菜单
* @return 结果
*/
public int updateSysMenuappBatch(List<SysMenuapp> list);

/**
* 删除手机菜单
*
* @param id 手机菜单主键
* @return 结果
*/
public int deleteSysMenuappById(Long id);

/**
* 批量删除手机菜单
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSysMenuappByIds(Long[] ids);
}

+ 88
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuappService.java View File

@@ -0,0 +1,88 @@
package com.ruoyi.system.service;

import com.ruoyi.system.domain.SysMenuapp;

import java.util.List;

/**
* 手机菜单Service接口
*
* @author rongxin
* @date 2025-09-02
*/
public interface ISysMenuappService
{
/**
* 查询手机菜单
*
* @param id 手机菜单主键
* @return 手机菜单
*/
public SysMenuapp selectSysMenuappById(Long id);

/**
* 查询手机菜单列表
*
* @param sysMenuapp 手机菜单
* @return 手机菜单集合
*/
public List<SysMenuapp> selectSysMenuappList(SysMenuapp sysMenuapp);

/**
* 导入手机菜单数据
*
* @param list 手机菜单数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param userName 操作用户
* @return 结果
*/
public String importSysMenuapp(List<SysMenuapp> list, Boolean isUpdateSupport, String userName);

/**
* 新增手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
public int insertSysMenuapp(SysMenuapp sysMenuapp);

/**
* 批量新增手机菜单
*
* @param list 手机菜单
* @return 结果
*/
public int insertSysMenuappBatch(List<SysMenuapp> list);

/**
* 修改手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
public int updateSysMenuapp(SysMenuapp sysMenuapp);

/**
* 批量修改 手机菜单
*
* @param list 手机菜单
* @return 结果
*/
public int updateSysMenuappBatch(List<SysMenuapp> list);

/**
* 批量删除手机菜单
*
* @param ids 需要删除的手机菜单主键集合
* @return 结果
*/
public int deleteSysMenuappByIds(Long[] ids);

/**
* 删除手机菜单信息
*
* @param id 手机菜单主键
* @return 结果
*/
public int deleteSysMenuappById(Long id);
}

+ 197
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuappServiceImpl.java View File

@@ -0,0 +1,197 @@
package com.ruoyi.system.service.impl;

import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysMenuapp;
import com.ruoyi.system.mapper.SysMenuappMapper;
import com.ruoyi.system.service.ISysMenuappService;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.stream.Collectors;

/**
* 手机菜单Service业务层处理
*
* @author rongxin
* @date 2025-09-02
*/
@Service
public class SysMenuappServiceImpl implements ISysMenuappService
{
@Autowired
private SysMenuappMapper sysMenuappMapper;

/**
* 查询手机菜单
*
* @param id 手机菜单主键
* @return 手机菜单
*/
@Override
public SysMenuapp selectSysMenuappById(Long id)
{
return sysMenuappMapper.selectSysMenuappById(id);
}

/**
* 查询手机菜单列表
*
* @param sysMenuapp 手机菜单
* @return 手机菜单
*/
@Override
public List<SysMenuapp> selectSysMenuappList(SysMenuapp sysMenuapp)
{
return sysMenuappMapper.selectSysMenuappList(sysMenuapp);
}

/**
* 导入手机菜单数据
*
* @param list 手机菜单数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param operName 操作用户
* @return 结果
*/
@Override
@Transactional
public String importSysMenuapp(List<SysMenuapp> list, Boolean isUpdateSupport, String operName) {
if (StringUtils.isEmpty(list)) {
throw new ServiceException("导入手机菜单数据不能为空!");
}

int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
List<SysMenuapp> insertList = Lists.newArrayList();
List<SysMenuapp> updateList = Lists.newArrayList();


// 缓存已存在的数据
SysMenuapp sysMenuapp = new SysMenuapp();
List<SysMenuapp> sysMenuappList = sysMenuappMapper.selectSysMenuappList(sysMenuapp);

for (SysMenuapp item : list) {
// 验证是否存在这个手机菜单信息
Long id = item.getId();
List<SysMenuapp> filters = sysMenuappList.stream().filter(a -> a.getId().equals(id)).collect(Collectors.toList());
if (StringUtils.isEmpty(filters)) { //不存在时,直接插入
item.setCreateBy(operName);
item.setCreateTime(DateUtils.getNowDate());
insertList.add(item);
successNum++;
} else { //存在时
if(isUpdateSupport){ //勾选则更新
item.setUpdateBy(operName);
item.setUpdateTime(DateUtils.getNowDate());
item.setId(filters.get(0).getId());
updateList.add(item);
successNum++;
}
}
}

// 执行更新或者保存
List<List<SysMenuapp>> insertSplists = ListUtils.partition(insertList, 50);
insertSplists.forEach(insertSplist ->{
sysMenuappMapper.insertSysMenuappBatch(insertSplist);
});
List<List<SysMenuapp>> updateSplists = ListUtils.partition(updateList, 30);
updateSplists.forEach(updateSplist ->{
sysMenuappMapper.updateSysMenuappBatch(updateSplist);
});

successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。");
return successMsg.toString();
}


/**
* 新增手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
@Override
public int insertSysMenuapp(SysMenuapp sysMenuapp)
{
sysMenuapp.setCreateTime(DateUtils.getNowDate());
return sysMenuappMapper.insertSysMenuapp(sysMenuapp);
}

/**
* 批量新增手机菜单
*
* @param list 手机菜单
* @return 结果
*/
@Override
@Transactional
public int insertSysMenuappBatch(List<SysMenuapp> list){
List<List<SysMenuapp>> splists = ListUtils.partition(list, 50);
splists.forEach(splist->{
sysMenuappMapper.insertSysMenuappBatch(splist);
});
return 1;
}

/**
* 修改手机菜单
*
* @param sysMenuapp 手机菜单
* @return 结果
*/
@Override
public int updateSysMenuapp(SysMenuapp sysMenuapp)
{
sysMenuapp.setUpdateTime(DateUtils.getNowDate());
return sysMenuappMapper.updateSysMenuapp(sysMenuapp);
}

/**
* 批量修改 手机菜单
*
* @param list 手机菜单
* @return 结果
*/
@Override
@Transactional
public int updateSysMenuappBatch(List<SysMenuapp> list) {
List<List<SysMenuapp>> splists = ListUtils.partition(list, 30);
splists.forEach(splist->{
sysMenuappMapper.updateSysMenuappBatch(splist);
});
return 1;
}

/**
* 批量删除手机菜单
*
* @param ids 需要删除的手机菜单主键
* @return 结果
*/
@Override
public int deleteSysMenuappByIds(Long[] ids)
{
return sysMenuappMapper.deleteSysMenuappByIds(ids);
}

/**
* 删除手机菜单信息
*
* @param id 手机菜单主键
* @return 结果
*/
@Override
public int deleteSysMenuappById(Long id)
{
return sysMenuappMapper.deleteSysMenuappById(id);
}
}

+ 1
- 1
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml View File

@@ -67,7 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>

<select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.import_code, d.org_code, d.longitude, d.latitude, d.del_flag,
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
from sys_dept d
where d.dept_id = #{deptId}


+ 152
- 0
ruoyi-system/src/main/resources/mapper/system/SysMenuappMapper.xml View File

@@ -0,0 +1,152 @@
<?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.ruoyi.system.mapper.SysMenuappMapper">

<resultMap type="SysMenuapp" id="SysMenuappResult">
<result property="id" column="id" />
<result property="modelType" column="model_type" />
<result property="menuName" column="menu_name" />
<result property="menuUrl" column="menu_url" />
<result property="menuIcon" column="menu_icon" />
<result property="menuNum" column="menu_num" />
<result property="menuStatus" column="menu_status" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>

<sql id="selectSysMenuappVo">
select id, model_type, menu_name, menu_url, menu_icon, menu_num, menu_status, remark, create_by, create_time, update_by, update_time from sys_menuapp
</sql>

<select id="selectSysMenuappList" parameterType="SysMenuapp" resultMap="SysMenuappResult">
<include refid="selectSysMenuappVo"/>
<where>
<if test="modelType != null and modelType != ''"> and model_type = #{modelType}</if>
<if test="menuName != null and menuName != ''"> and menu_name like concat('%', #{menuName}, '%')</if>
<if test="menuStatus != null and menuStatus != ''"> and menu_status = #{menuStatus}</if>
</where>
</select>

<select id="selectSysMenuappById" parameterType="Long" resultMap="SysMenuappResult">
<include refid="selectSysMenuappVo"/>
where id = #{id}
</select>

<insert id="insertSysMenuapp" parameterType="SysMenuapp" useGeneratedKeys="true" keyProperty="id">
insert into sys_menuapp
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="modelType != null and modelType != ''">model_type,</if>
<if test="menuName != null and menuName != ''">menu_name,</if>
<if test="menuUrl != null and menuUrl != ''">menu_url,</if>
<if test="menuIcon != null and menuIcon != ''">menu_icon,</if>
<if test="menuNum != null">menu_num,</if>
<if test="menuStatus != null and menuStatus != ''">menu_status,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="modelType != null and modelType != ''">#{modelType},</if>
<if test="menuName != null and menuName != ''">#{menuName},</if>
<if test="menuUrl != null and menuUrl != ''">#{menuUrl},</if>
<if test="menuIcon != null and menuIcon != ''">#{menuIcon},</if>
<if test="menuNum != null">#{menuNum},</if>
<if test="menuStatus != null and menuStatus != ''">#{menuStatus},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>

<insert id="insertSysMenuappBatch" parameterType="list" useGeneratedKeys="true" keyProperty="id">
insert into sys_menuapp
<trim prefix="(" suffix=")" suffixOverrides=",">
model_type,
menu_name,
menu_url,
menu_icon,
menu_num,
menu_status,
remark,
create_by,
create_time,
update_by,
update_time,
</trim>
values
<foreach item="item" collection="list" separator="," >
<trim prefix="(" suffix=")" suffixOverrides=",">
#{item.modelType},
#{item.menuName},
#{item.menuUrl},
#{item.menuIcon},
#{item.menuNum},
#{item.menuStatus},
#{item.remark},
#{item.createBy},
#{item.createTime},
#{item.updateBy},
#{item.updateTime},
</trim>
</foreach>
</insert>

<update id="updateSysMenuapp" parameterType="SysMenuapp">
update sys_menuapp
<trim prefix="SET" suffixOverrides=",">
<if test="modelType != null and modelType != ''">model_type = #{modelType},</if>
<if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
<if test="menuUrl != null and menuUrl != ''">menu_url = #{menuUrl},</if>
<if test="menuIcon != null and menuIcon != ''">menu_icon = #{menuIcon},</if>
<if test="menuNum != null">menu_num = #{menuNum},</if>
<if test="menuStatus != null and menuStatus != ''">menu_status = #{menuStatus},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>

<!--批量更新-->
<update id="updateSysMenuappBatch" parameterType="list" >
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update sys_menuapp
<set>
<if test="item.modelType != null and item.modelType != ''">model_type = #{item.modelType},</if>
<if test="item.menuName != null and item.menuName != ''">menu_name = #{item.menuName},</if>
<if test="item.menuUrl != null and item.menuUrl != ''">menu_url = #{item.menuUrl},</if>
<if test="item.menuIcon != null and item.menuIcon != ''">menu_icon = #{item.menuIcon},</if>
<if test="item.menuNum != null">menu_num = #{item.menuNum},</if>
<if test="item.menuStatus != null and item.menuStatus != ''">menu_status = #{item.menuStatus},</if>
<if test="item.remark != null">remark = #{item.remark},</if>
<if test="item.createBy != null">create_by = #{item.createBy},</if>
<if test="item.createTime != null">create_time = #{item.createTime},</if>
<if test="item.updateBy != null">update_by = #{item.updateBy},</if>
<if test="item.updateTime != null">update_time = #{item.updateTime},</if>
</set>
where id = #{item.id}
</foreach>
</update>

<delete id="deleteSysMenuappById" parameterType="Long">
delete from sys_menuapp where id = #{id}
</delete>

<delete id="deleteSysMenuappByIds" parameterType="String">
delete from sys_menuapp where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

Loading…
Cancel
Save