网站和主题单独菜单管理

This commit is contained in:
duandongmei
2019-01-08 12:17:57 +06:00
parent 5f4d300d6a
commit 94dc852118
8 changed files with 494 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ package com.nis.domain;
import java.io.Serializable;
public class SysDataDictionaryItem implements Serializable {
public class SysDataDictionaryItem extends BaseEntity<SysDataDictionaryItem> implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String itemCode;

View File

@@ -1,5 +1,7 @@
package com.nis.web.controller.sys;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.SysDataDictionaryName;
import com.nis.util.CacheUtils;
import com.nis.util.Constants;
@@ -37,7 +40,61 @@ public class DictController extends BaseController {
return "/sys/dictList";
}
@RequestMapping(value = {"/topicAndWebsiteList", ""})
public String topicList(SysDataDictionaryItem sysDictItem,HttpServletRequest request, HttpServletResponse response, Model model) {
if(sysDictItem ==null){
sysDictItem=new SysDataDictionaryItem();
}
Page<SysDataDictionaryItem> page = dictService.findDictItemList(new Page<SysDataDictionaryItem>(request, response), sysDictItem);
model.addAttribute("page", page);
model.addAttribute("sysDataDictionaryName",sysDictItem);
return "/basics/dictList";
}
/**
* 进入字典添加或修改页面
* @param sysDictName
* @param model
* @return
*/
@RequestMapping(value={"dictItemForm"})
public String dictItemForm(SysDataDictionaryItem item, Model model) {
if (item != null && !StringUtil.isEmpty(item.getId())){
List list=dictService.findDictItemList(item);
if(!StringUtil.isEmpty(list)){
item=(SysDataDictionaryItem) list.get(0);
}
}
model.addAttribute("sysDataDictionaryItem",item);
return "/basics/dictForm";
}
/**
* 进入字典添加或修改页面
* @param sysDictName
* @param model
* @return
*/
@ResponseBody
@RequestMapping(value={"checkItemCode"})
public String checkItemCode(Long id, String itemCode, int dictionaryId) {
SysDataDictionaryItem item=new SysDataDictionaryItem();
item.setDictionaryId(dictionaryId);
item.setId(id);
item.setItemCode(itemCode);
if (item != null ){
List list=dictService.findDictItemList(item);
if(StringUtil.isEmpty(item.getId()) && !StringUtil.isEmpty(list) && list.size()>=1){
return "false";
}
if(!StringUtil.isEmpty(item.getId()) && !StringUtil.isEmpty(list) && list.size()>=2){
return "false";
}
}
return "true";
}
/**
* 进入字典添加或修改页面
@@ -75,6 +132,37 @@ public class DictController extends BaseController {
return "redirect:" + adminPath + "/sys/dict/list";
}
@RequestMapping(value = "saveOrUpdateItem")
public String saveOrUpdateItem(SysDataDictionaryItem sysDictItem,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.saveOrUpdateItem(sysDictItem);
//删除字典缓存
CacheUtils.remove(Constants.CACHE_DICT_MAP);
addMessage(redirectAttributes,"success", "save_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes,"error", "save_failed");
}
return "redirect:" + adminPath + "/sys/dict/topicAndWebsiteList?dictionaryId="+sysDictItem.getDictionaryId();
}
@RequestMapping(value = "deleteItem")
public String delete(SysDataDictionaryItem item,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.deleteDictItem(item);
//删除字典缓存
CacheUtils.remove(Constants.CACHE_DICT_MAP);
addMessage(redirectAttributes,"success", "delete_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes,"error", "delete_failed");
}
return "redirect:" + adminPath + "/sys/dict/topicAndWebsiteList?dictionaryId="+item.getDictionaryId();
}
@RequiresPermissions("sys:dict:edit")
@RequestMapping(value = "delete")
public String delete(Integer id,Model model, RedirectAttributes redirectAttributes) {

View File

@@ -15,15 +15,22 @@ public interface SysDictDao extends CrudDao<SysDataDictionaryName> {
List<SysDataDictionaryName> findDictList(SysDataDictionaryName sysDictName);
List<SysDataDictionaryItem> findDictItemList(SysDataDictionaryItem sysDictItem);
SysDataDictionaryName getDictById(@Param("DEL_FLAG_NORMAL")Integer DEL_FLAG_NORMAL,@Param("id") Integer id);
void insertDictName(SysDataDictionaryName sysDictName);
void updateDictName(SysDataDictionaryName sysDictName);
void insertDictItem(SysDataDictionaryItem sysDictitem);
int findMaxItemSort(SysDataDictionaryItem sysDictitem);
int findMaxItemCode(SysDataDictionaryItem sysDictitem);
void deleteDictItem(@Param("dictId")Integer dictId);
void deleteDictItemById(SysDataDictionaryItem sysDictitem);
void deleteDictName(@Param("dictId")Integer dictId);

View File

@@ -22,6 +22,17 @@
</collection>
</resultMap>
<resultMap id="dictItemResultMap" type="com.nis.domain.SysDataDictionaryItem" >
<id column="id" property="id" jdbcType="INTEGER" />
<result property="itemCode" column="item_code" jdbcType="VARCHAR" />
<result property="itemValue" column="item_value" jdbcType="VARCHAR" />
<result property="itemDesc" column="item_desc" jdbcType="VARCHAR" />
<result property="itemSort" column="item_sort" jdbcType="INTEGER" />
<result property="status" column="item_status" jdbcType="INTEGER" />
<result property="type" column="type" jdbcType="INTEGER" />
<result property="dictionaryId" column="dictionary_id" jdbcType="INTEGER" />
</resultMap>
@@ -112,6 +123,36 @@
</select>
<select id="findDictItemList" resultMap="dictItemResultMap" parameterType="com.nis.domain.SysDataDictionaryItem">
SELECT * FROM sys_data_dictionary_item WHERE status=1
<if test="itemCode != null and itemCode != '' " >
AND item_code = #{itemCode}
</if>
<if test="id != null " >
AND id = #{id}
</if>
<if test="itemValue != null and itemValue != '' " >
AND item_value like '%${itemValue}%'
</if>
<if test="itemDesc != null and itemDesc != '' " >
AND item_desc like '%${itemDesc}%'
</if>
<if test="dictionaryId != null" >
AND dictionary_id = #{dictionaryId}
</if>
<choose>
<when test="page !=null and page.orderBy != null and page.orderBy != ''">
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY item_sort desc
</otherwise>
</choose>
</select>
<!-- 插入词典标识信息 -->
<insert id="insertDictName" parameterType="com.nis.domain.SysDataDictionaryName" useGeneratedKeys="true" keyProperty="id" >
insert into sys_data_dictionary_name (module_name, mark,
@@ -143,6 +184,11 @@
delete from sys_data_dictionary_item
where dictionary_id = #{dictId}
</delete>
<!-- 删除词典项信息 -->
<delete id="deleteDictItemById">
delete from sys_data_dictionary_item
where id = #{id} and dictionary_id= #{dictionaryId}
</delete>
<!-- 编辑词典标识信息 -->
<update id="updateDictName" parameterType="com.nis.domain.SysDataDictionaryName" >
@@ -163,4 +209,21 @@
type=#{type}, dictionary_id=#{dictionaryId}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="findMaxItemCode" resultType="java.lang.Integer" parameterType="com.nis.domain.SysDataDictionaryItem">
SELECT max(item_code) FROM sys_data_dictionary_item
<where>
<if test="dictionaryId != null" >
AND dictionary_id = #{dictionaryId}
</if>
</where>
</select>
<select id="findMaxItemSort" resultType="java.lang.Integer" parameterType="com.nis.domain.SysDataDictionaryItem">
SELECT max(item_sort) FROM sys_data_dictionary_item
<where>
<if test="dictionaryId != null" >
AND dictionary_id = #{dictionaryId}
</if>
</where>
</select>
</mapper>

View File

@@ -28,6 +28,13 @@ public class DictService extends BaseService {
page.setList(dictDao.findDictList(sysDictName));
return page;
}
public Page<SysDataDictionaryItem> findDictItemList(Page<SysDataDictionaryItem> page, SysDataDictionaryItem sysDictItem) {
// 设置分页参数
sysDictItem.setPage(page);
// 执行分页查询
page.setList(dictDao.findDictItemList(sysDictItem));
return page;
}
public List<SysDataDictionaryName> findDicByName(SysDataDictionaryName sysDictName){
return dictDao.findDicByName(sysDictName.DEL_FLAG_NORMAL, sysDictName.getModuleName(),sysDictName.getMark());
@@ -90,7 +97,31 @@ public class DictService extends BaseService {
}
public void saveOrUpdateItem(SysDataDictionaryItem sysDictItem) {
if(StringUtil.isEmpty(sysDictItem.getItemCode())){
Integer maxCode=dictDao.findMaxItemCode(sysDictItem);
if(!StringUtil.isEmpty(maxCode)){
sysDictItem.setItemCode((maxCode+1)+"");
}
}
if(StringUtil.isEmpty(sysDictItem.getId())){
Integer maxSort=dictDao.findMaxItemSort(sysDictItem);
if(!StringUtil.isEmpty(maxSort)){
sysDictItem.setItemSort(maxSort+1);
}
dictDao.insertDictItem(sysDictItem);
}else{
dictDao.updateDictItem(sysDictItem);
}
}
public void deleteDictItem(SysDataDictionaryItem sysDictItem) {
//删除词典项
dictDao.deleteDictItemById(sysDictItem);
}
public void deleteDict(Integer dictId) {
//删除词典项
@@ -105,6 +136,10 @@ public class DictService extends BaseService {
return dictDao.getDictById(1,id);
}
public List findDictItemList(SysDataDictionaryItem item) {
return dictDao.findDictItemList(item);
}
public void updateDictItem(SysDataDictionaryItem sysDictItem){
dictDao.updateDictItem(sysDictItem);
}